home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1994 December / PSL Monthly Shareware CD-ROM (Public Software Library)(December 1994).bin / prgmming / win / vb1 / wn31api.exe / WIN31API.TXT < prev   
Text File  |  1992-06-23  |  153KB  |  3,631 lines

  1. ' ------------------------------------------------------------------------
  2. '
  3. '    WIN31API.TXT -- Windows 3.1 API Declarations for Visual Basic
  4. '
  5. '              Copyright (C) 1992 Microsoft Corporation
  6. '
  7. '
  8. '  This file contains the Const, Type, and Declare statements for
  9. '  Windows 3.1 APIs.  If you only want to reference Windows 3.0 APIs,
  10. '  use WIN30API.TXT.
  11. '
  12. '  You have a royalty-free right to use, modify, reproduce and distribute
  13. '  this file (and/or any modified version) in any way you find useful,
  14. '  provided that you agree that Microsoft has no warranty, obligation or
  15. '  liability for its contents.  Refer to the Microsoft Windows Programmer's
  16. '  Reference for further information.
  17. '
  18. ' ------------------------------------------------------------------------
  19.  
  20.  
  21. ' General Purpose Types
  22.  
  23. Type RECT
  24.     left As Integer
  25.     top As Integer
  26.     right As Integer
  27.     bottom As Integer
  28. End Type
  29.  
  30. Type POINTAPI
  31.     x As Integer
  32.     y As Integer
  33. End Type
  34.  
  35.  
  36. ' ----------------
  37. '  Kernel Section
  38. ' ----------------
  39.  
  40. ' ParameterBlock description structure for use with LoadModule
  41. Type PARAMETERBLOCK
  42.     wEnvSeg As Integer
  43.     lpCmdLine As Long
  44.     lpCmdShow As Long
  45.     dwReserved As Long
  46. End Type
  47.  
  48. ' Loader Routines
  49. Declare Function GetNumTasks Lib "Kernel" () As Integer
  50. Declare Function GetModuleHandle Lib "Kernel" (ByVal lpModuleName As String) As Integer
  51. Declare Function GetModuleUsage Lib "Kernel" (ByVal hModule As Integer) As Integer
  52. Declare Function GetModuleFileName Lib "Kernel" (ByVal hModule As Integer, ByVal lpFilename As String, ByVal nSize As Integer) As Integer
  53. Declare Function GetInstanceData Lib "Kernel" (ByVal hInstance As Integer, ByVal pData As Integer, ByVal nCount As Integer) As Integer
  54. Declare Function LoadLibrary Lib "Kernel" (ByVal lpLibFileName As String) As Integer
  55. Declare Function LoadModule Lib "Kernel" (ByVal lpModuleName As String, lpParameterBlock As PARAMETERBLOCK) As Integer
  56. Declare Sub FreeModule Lib "Kernel" (ByVal hModule As Integer) 
  57. Declare Sub FreeLibrary Lib "Kernel" (ByVal hLibModule As Integer)
  58. Declare Function GetFreeSpace Lib "Kernel" (ByVal wFlags As Integer) As Long
  59. Declare Function WinExec Lib "Kernel" (ByVal lpCmdLine As String, ByVal nCmdShow As Integer) As Integer
  60. Declare Sub DebugBreak Lib "Kernel" ()
  61. Declare Sub OutputDebugString Lib "Kernel" (ByVal lpOutputString As String)
  62. Declare Sub SwitchStackBack Lib "Kernel" ()
  63. Declare Sub SwitchStackTo Lib "Kernel" (ByVal wStackSegment As Integer, ByVal wStackPointer As Integer, ByVal wStackTop As Integer)
  64. Declare Function GetCurrentPDB Lib "Kernel" () As Integer
  65. Declare Function GetVersion Lib "Kernel" () As Long
  66.  
  67. ' OpenFile() Structure
  68. Type OFSTRUCT
  69.     cBytes As String * 1
  70.     fFixedDisk As String * 1
  71.     nErrCode As Integer
  72.     reserved As String * 4
  73.     szPathName As String * 128
  74. End Type
  75.  
  76. ' OpenFile() Flags
  77. Global Const OF_READ = &H0
  78. Global Const OF_WRITE = &H1
  79. Global Const OF_READWRITE = &H2
  80. Global Const OF_SHARE_COMPAT = &H0
  81. Global Const OF_SHARE_EXCLUSIVE = &H10
  82. Global Const OF_SHARE_DENY_WRITE = &H20
  83. Global Const OF_SHARE_DENY_READ = &H30
  84. Global Const OF_SHARE_DENY_NONE = &H40
  85. Global Const OF_PARSE = &H100
  86. Global Const OF_DELETE = &H200
  87. Global Const OF_VERIFY = &H400
  88. Global Const OF_CANCEL = &H800
  89. Global Const OF_CREATE = &H1000
  90. Global Const OF_PROMPT = &H2000
  91. Global Const OF_EXIST = &H4000
  92. Global Const OF_REOPEN = &H8000
  93.  
  94. Declare Function OpenFile Lib "Kernel" (ByVal lpFileName As String, lpReOpenBuff As OFSTRUCT, ByVal wStyle As Integer) As Integer
  95.  
  96. ' GetTempFileName() Flags
  97. '
  98. Global Const TF_FORCEDRIVE = &H80
  99.  
  100. Declare Function GetTempDrive Lib "Kernel" (ByVal cDriveLetter as Integer) As Integer
  101. Declare Function GetTempFileName Lib "Kernel" (ByVal cDriveLetter as Integer, ByVal lpPrefixString As String, ByVal wUnique As Integer, ByVal lpTempFileName As String) As Integer
  102. Declare Function SetHandleCount Lib "Kernel" (ByVal wNumber As Integer) As Integer
  103.  
  104. Declare Function GetDriveType Lib "Kernel" (ByVal nDrive As Integer) As Integer
  105.  
  106. ' GetDriveType return values
  107. Global Const DRIVE_REMOVABLE = 2
  108. Global Const DRIVE_FIXED = 3
  109. Global Const DRIVE_REMOTE = 4
  110.  
  111. ' Global Memory Flags
  112. Global Const GMEM_FIXED = &H0
  113. Global Const GMEM_MOVEABLE = &H2
  114. Global Const GMEM_NOCOMPACT = &H10
  115. Global Const GMEM_NODISCARD = &H20
  116. Global Const GMEM_ZEROINIT = &H40
  117. Global Const GMEM_MODIFY = &H80
  118. Global Const GMEM_DISCARDABLE = &H100
  119. Global Const GMEM_NOT_BANKED = &H1000
  120. Global Const GMEM_SHARE = &H2000
  121. Global Const GMEM_DDESHARE = &H2000
  122. Global Const GMEM_NOTIFY = &H4000
  123. Global Const GMEM_LOWER = GMEM_NOT_BANKED
  124.  
  125. Global Const GHND = (GMEM_MOVEABLE Or GMEM_ZEROINIT)
  126. Global Const GPTR = (GMEM_FIXED Or GMEM_ZEROINIT)
  127.  
  128. Declare Function GlobalAlloc Lib "Kernel" (ByVal wFlags As Integer, ByVal dwBytes As Long) As Integer
  129. Declare Function GlobalCompact Lib "Kernel" (ByVal dwMinFree As Long) As Long
  130. Declare Function GlobalFree Lib "Kernel" (ByVal hMem As Integer) As Integer
  131. Declare Function GlobalHandle Lib "Kernel" (ByVal wMem As Integer) As Long
  132. Declare Function GlobalLock Lib "Kernel" (ByVal hMem As Integer) As Long
  133. Declare Function GlobalReAlloc Lib "Kernel" (ByVal hMem As Integer, ByVal dwBytes As Long, ByVal wFlags As Integer) As Integer
  134.  
  135. 'NOTE: instead of declaring the function GlobalDiscard and calling 
  136. '      GlobalDiscard(hMem), call GlobalReAlloc(hMem, 0, GMEM_MOVEABLE)
  137.  
  138. Declare Function GlobalSize Lib "Kernel" (ByVal hMem As Integer) As Long
  139. Declare Function GlobalUnlock Lib "Kernel" (ByVal hMem As Integer) As Integer
  140. Declare Function UnlockResource Lib "Kernel" Alias "GlobalUnlock" (ByVal hMem As Integer) As Integer
  141. Declare Function GlobalFlags Lib "Kernel" (ByVal hMem As Integer) As Integer
  142. Declare Function GlobalWire Lib "Kernel" (ByVal hMem As Integer) As Long
  143. Declare Function GlobalUnWire Lib "Kernel" (ByVal hMem As Integer) As Integer
  144. Declare Function GlobalUnlock Lib "Kernel" (ByVal hMem As Integer) As Integer
  145. Declare Function GlobalLRUNewest Lib "Kernel" (ByVal hMem As Integer) As Integer
  146. Declare Function GlobalLRUOldest Lib "Kernel" (ByVal hMem As Integer) As Integer
  147. Declare Function GlobalPageLock Lib "Kernel" (ByVal wSelector As Integer) As Integer
  148. Declare Function GlobalPageUnlock Lib "Kernel" (ByVal wSelector As Integer) As Integer
  149. Declare Sub GlobalFix Lib "Kernel" (ByVal hMem As Integer)
  150. Declare Function GlobalUnfix Lib "Kernel" (ByVal hMem As Integer) As Integer
  151.  
  152. ' Flags returned by GlobalFlags (in addition to GMEM_DISCARDABLE)
  153. Global Const GMEM_DISCARDED = &H4000
  154. Global Const GMEM_LOCKCOUNT = &HFF
  155.  
  156. Declare Function LockSegment Lib "Kernel" (ByVal wSegment As Integer) As Integer
  157. Declare Function UnlockSegment Lib "Kernel" (ByVal wSegment As Integer) As Integer
  158.  
  159. ' Local Memory Flags
  160. Global Const LMEM_FIXED = &H0
  161. Global Const LMEM_MOVEABLE = &H2
  162. Global Const LMEM_NOCOMPACT = &H10
  163. Global Const LMEM_NODISCARD = &H20
  164. Global Const LMEM_ZEROINIT = &H40
  165. Global Const LMEM_MODIFY = &H80
  166. Global Const LMEM_DISCARDABLE = &HF00
  167.  
  168. Global Const LHND = (LMEM_MOVEABLE+LMEM_ZEROINIT)
  169. Global Const LPTR = (LMEM_FIXED+LMEM_ZEROINIT)
  170.  
  171. Global Const NONZEROLHND = (LMEM_MOVEABLE)
  172. Global Const NONZEROLPTR = (LMEM_FIXED)
  173.  
  174. Global Const LNOTIFY_OUTOFMEM = 0
  175. Global Const LNOTIFY_MOVE = 1
  176. Global Const LNOTIFY_DISCARD = 2
  177.  
  178. Declare Function LocalAlloc Lib "Kernel" (ByVal wFlags As Integer, ByVal wBytes As Integer) As Integer
  179. Declare Function LocalCompact Lib "Kernel" (ByVal wMinFree As Integer) As Integer
  180. Declare Function LocalFree Lib "Kernel" (ByVal hMem As Integer) As Integer
  181. Declare Function LocalHandle Lib "Kernel" (ByVal wMem As Integer) As Integer
  182. Declare Function LocalInit Lib "Kernel" (ByVal wSegment As Integer, ByVal pStart As Integer, ByVal pEnd As Integer) As Integer
  183. Declare Function LocalLock Lib "Kernel" (ByVal hMem As Integer) As Integer '(returns a near pointer)
  184. Declare Function LocalReAlloc Lib "Kernel" (ByVal hMem As Integer, ByVal wBytes As Integer, ByVal wFlags As Integer) As Integer
  185.  
  186. 'NOTE: instead of declaring the function LocalDiscard and calling 
  187. '      LocalDiscard(hMem), call LocalReAlloc(hMem, 0, LMEM_MOVEABLE)
  188.  
  189. Declare Function LocalSize Lib "Kernel" (ByVal hMem As Integer) As Integer
  190. Declare Function LocalUnlock Lib "Kernel" (ByVal hMem As Integer) As Integer
  191. Declare Function LocalFlags Lib "Kernel" (ByVal hMem As Integer) As Integer
  192. Declare Function LocalShrink Lib "Kernel" (ByVal hSeg As Integer, ByVal wSize As Integer) As Integer
  193.  
  194. ' Flags returned by LocalFlags (in addition to LMEM_DISCARDABLE)
  195. Global Const LMEM_DISCARDED = &H4000
  196. Global Const LMEM_LOCKCOUNT = &HFF
  197.  
  198. Declare Function SetSwapAreaSize Lib "Kernel" (ByVal rsSize As Integer) As Long
  199. Declare Function ValidateFreeSpaces Lib "Kernel" () As Long
  200. Declare Sub LimitEmsPages Lib "Kernel" (ByVal dwKbytes As Long)
  201. Declare Function SetErrorMode Lib "Kernel" (ByVal wMode As Integer) As Integer
  202. Declare Sub ValidateCodeSegments Lib "Kernel" ()
  203.  
  204. Declare Function GetDOSEnvironment Lib "Kernel" () As Long
  205.  
  206. Declare Function AllocDStoCSAlias Lib "Kernel" (ByVal wSelector As Integer) As Integer
  207. Declare Function AllocSelector Lib "Kernel" (ByVal wSelector As Integer) As Integer
  208. Declare Function ChangeSelector Lib "Kernel" (ByVal wDestSelector As Integer, ByVal wSourceSelector As Integer) As Integer
  209. Declare Function FreeSelector Lib "Kernel" (ByVal wSelector As Integer) As Integer
  210. Declare Function FindResource Lib "Kernel" (ByVal hInstance As Integer, ByVal lpName As String, ByVal lpType As Any) As Integer
  211. Declare Function LoadResource Lib "Kernel" (ByVal hInstance As Integer, ByVal hResInfo As Integer) As Integer
  212. Declare Function FreeResource Lib "Kernel" (ByVal hResData As Integer) As Integer
  213. Declare Function LockResource Lib "Kernel" (ByVal hResData As Integer) As Long
  214. Declare Function AllocResource Lib "Kernel" (ByVal hInstance As Integer, ByVal hResInfo As Integer, ByVal dwSize As Long) As Integer
  215. Declare Function SizeofResource Lib "Kernel" (ByVal hInstance As Integer, ByVal hResInfo As Integer) As Integer
  216. Declare Function AccessResource Lib "Kernel" (ByVal hInstance As Integer, ByVal hResInfo As Integer) As Integer
  217.  
  218. ' Predefined Resource Types
  219. Global Const RT_CURSOR = 1&
  220. Global Const RT_BITMAP = 2&
  221. Global Const RT_ICON = 3&
  222. Global Const RT_MENU = 4&
  223. Global Const RT_DIALOG = 5&
  224. Global Const RT_STRING = 6&
  225. Global Const RT_FONTDIR = 7&
  226. Global Const RT_FONT = 8&
  227. Global Const RT_ACCELERATOR = 9&
  228. Global Const RT_RCDATA = 10&
  229.  
  230. Declare Sub Yield Lib "Kernel" ()
  231. Declare Function GetCurrentTask Lib "Kernel" () As Integer
  232.  
  233. Declare Function InitAtomTable Lib "Kernel" (ByVal nSize As Integer) As Integer
  234. Declare Function AddAtom Lib "Kernel" (ByVal lpString As String) As Integer
  235. Declare Function DeleteAtom Lib "Kernel" (ByVal nAtom As Integer) As Integer
  236. Declare Function FindAtom Lib "Kernel" (ByVal lpString As String) As Integer
  237. Declare Function GetAtomName Lib "Kernel" (ByVal nAtom As Integer, ByVal lpBuffer As String, ByVal nSize As Integer) As Integer
  238. Declare Function GlobalAddAtom Lib "Kernel" (ByVal lpString As String) As Integer
  239. Declare Function GlobalDeleteAtom Lib "Kernel" (ByVal nAtom As Integer) As Integer
  240. Declare Function GlobalFindAtom Lib "Kernel" (ByVal lpString As String) As Integer
  241. Declare Function GlobalGetAtomName Lib "Kernel" (ByVal nAtom As Integer, ByVal lpbuffer As String, ByVal nSize As Integer) As Integer
  242. Declare Function GetAtomHandle Lib "Kernel" (ByVal wAtom As Integer) As Integer
  243.  
  244.  
  245. ' User Profile Routines
  246. Declare Function GetProfileInt Lib "Kernel" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal nDefault As Integer) As Integer
  247. Declare Function GetProfileString Lib "Kernel" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Integer) As Integer
  248. Declare Function WriteProfileString Lib "Kernel" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String) As Integer
  249. Declare Function GetPrivateProfileInt Lib "Kernel" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Integer, ByVal lpFileName As String) As Integer
  250. Declare Function GetPrivateProfileString Lib "Kernel" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Integer, ByVal lpFileName As String) As Integer
  251. Declare Function WritePrivateProfileString Lib "Kernel" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lplFileName As String) As Integer
  252. Declare Function GetWindowsDirectory Lib "Kernel" (ByVal lpBuffer As String, ByVal nSize As Integer) As Integer
  253. Declare Function GetSystemDirectory Lib "Kernel" (ByVal lpBuffer As String, ByVal nSize As Integer) As Integer
  254.  
  255. 'NOTE: Catch/Throw expect a long pointer to an 18-byte buffer (lpCatchBuf)
  256. ' eg:
  257. '     Dim Buffer(1 To 9) As Integer
  258. '    result% = Catch (Buffer(1))        
  259.  
  260. Declare Function Catch Lib "Kernel" (lpCatchBuf As Any) As Integer
  261. Declare Sub Throw Lib "Kernel" (lpCatchBuf As Any, ByVal nThrowBack As Integer)
  262.  
  263. Declare Sub FatalExit Lib "Kernel" (ByVal Code As Integer)
  264. Declare Sub SwapRecording Lib "Kernel" (ByVal wFlag As Integer)
  265.  
  266. ' Character Translation Routines
  267. Declare Function AnsiToOem Lib "Keyboard" (ByVal lpAnsiStr As String, ByVal lpOemStr As String) As Integer
  268. Declare Function OemToAnsi Lib "Keyboard" (ByVal lpOemStr As String, ByVal lpAnsiStr As String) As Integer
  269. Declare Sub AnsiToOemBuff Lib "Keyboard" (ByVal lpAnsiStr As String, ByVal lpOemStr As String, ByVal nLength As Integer)
  270. Declare Sub OemToAnsiBuff Lib "Keyboard" (ByVal lpOemStr As String, ByVal lpAnsiStr As String, ByVal nLength as Integer)
  271. Declare Function AnsiUpper Lib "User" (ByVal lpString As String) As String
  272. Declare Function AnsiUpperBuff Lib "User" (ByVal lpString As String, ByVal aWORD As Integer) As Integer
  273. Declare Function AnsiLower Lib "User" (ByVal lpString As String) As Long
  274. Declare Function AnsiLowerBuff Lib "User" (ByVal lpString As String, ByVal aWORD As Integer) As Integer
  275. Declare Function AnsiNext Lib "User" (ByVal lpString As String) As Long
  276. Declare Function AnsiPrev Lib "User" (ByVal lpString As String, ByVal lpString As String) As Long
  277.  
  278. ' Keyboard Information Routines
  279. Declare Function OemKeyScan Lib "Keyboard" (ByVal wOemChar As Integer) As Long
  280. Declare Function VkKeyScan Lib "Keyboard" (ByVal cChar As Integer) As Integer
  281. Declare Function GetKeyboardType Lib "Keyboard" (ByVal nTypeFlag As Integer) As Integer
  282. Declare Function MapVirtualKey Lib "Keyboard" (ByVal wCode As Integer, ByVal wMapType As Integer) As Integer
  283. Declare Function GetKBCodePage Lib "Keyboard" ()
  284. Declare Function GetKeyNameText Lib "Keyboard" (ByVal lParam As Long, ByVal lpBuffer As String, ByVal nSize As Integer) As Integer
  285. Declare Function ToAscii Lib "Keyboard" (ByVal wVirtKey As Integer, ByVal wScanCode As Integer, lpKeyState As Any, lpChar As Any, Byval wFlags As Integer) As Integer
  286.  
  287. ' Language dependent Routines
  288. Declare Function IsCharAlpha Lib "User" (ByVal cChar As Integer) As Integer
  289. Declare Function IsCharAlphaNumeric Lib "User" (ByVal cChar As Integer) As Integer
  290. Declare Function IsCharUpper Lib "User" (ByVal cChar As Integer) As Integer
  291. Declare Function IsCharLower Lib "User" (ByVal cChar As Integer) As Integer
  292.  
  293. Declare Function GetWinFlags Lib "Kernel" () As Long
  294.  
  295. Global Const WF_PMODE = &H1
  296. Global Const WF_CPU286 = &H2
  297. Global Const WF_CPU386 = &H4
  298. Global Const WF_CPU486 = &H8
  299. Global Const WF_STANDARD = &H10
  300. Global Const WF_WIN286 = &H10
  301. Global Const WF_ENHANCED = &H20
  302. Global Const WF_WIN386 = &H20
  303. Global Const WF_CPU086 = &H40
  304. Global Const WF_CPU186 = &H80
  305. Global Const WF_LARGEFRAME = &H100
  306. Global Const WF_SMALLFRAME = &H200
  307. Global Const WF_80x87 = &H400
  308.  
  309. ' WEP fSystemExit flag values
  310. Global Const WEP_SYSTEM_EXIT = 1
  311. Global Const WEP_FREE_DLL = 0
  312.  
  313. ' OEM Resource Ordinal Numbers
  314. Global Const OBM_CLOSE = 32754
  315. Global Const OBM_UPARROW = 32753
  316. Global Const OBM_DNARROW = 32752
  317. Global Const OBM_RGARROW = 32751
  318. Global Const OBM_LFARROW = 32750
  319. Global Const OBM_REDUCE = 32749
  320. Global Const OBM_ZOOM = 32748
  321. Global Const OBM_RESTORE = 32747
  322. Global Const OBM_REDUCED = 32746
  323. Global Const OBM_ZOOMD = 32745
  324. Global Const OBM_RESTORED = 32744
  325. Global Const OBM_UPARROWD = 32743
  326. Global Const OBM_DNARROWD = 32742
  327. Global Const OBM_RGARROWD = 32741
  328. Global Const OBM_LFARROWD = 32740
  329. Global Const OBM_MNARROW = 32739
  330. Global Const OBM_COMBO = 32738
  331.  
  332. Global Const OBM_OLD_CLOSE = 32767
  333. Global Const OBM_SIZE = 32766
  334. Global Const OBM_OLD_UPARROW = 32765
  335. Global Const OBM_OLD_DNARROW = 32764
  336. Global Const OBM_OLD_RGARROW = 32763
  337. Global Const OBM_OLD_LFARROW = 32762
  338. Global Const OBM_BTSIZE = 32761
  339. Global Const OBM_CHECK = 32760
  340. Global Const OBM_CHECKBOXES = 32759
  341. Global Const OBM_BTNCORNERS = 32758
  342. Global Const OBM_OLD_REDUCE = 32757
  343. Global Const OBM_OLD_ZOOM = 32756
  344. Global Const OBM_OLD_RESTORE = 32755
  345.  
  346. Global Const OCR_NORMAL = 32512
  347. Global Const OCR_IBEAM = 32513
  348. Global Const OCR_WAIT = 32514
  349. Global Const OCR_CROSS = 32515
  350. Global Const OCR_UP = 32516
  351. Global Const OCR_SIZE = 32640
  352. Global Const OCR_ICON = 32641
  353. Global Const OCR_SIZENWSE = 32642
  354. Global Const OCR_SIZENESW = 32643
  355. Global Const OCR_SIZEWE = 32644
  356. Global Const OCR_SIZENS = 32645
  357. Global Const OCR_SIZEALL = 32646
  358. Global Const OCR_ICOCUR = 32647
  359.  
  360. Global Const OIC_SAMPLE = 32512
  361. Global Const OIC_HAND = 32513
  362. Global Const OIC_QUES = 32514
  363. Global Const OIC_BANG = 32515
  364. Global Const OIC_NOTE = 32516
  365.  
  366.  
  367. ' -------------
  368. '  GDI Section
  369. ' -------------
  370.  
  371. ' Binary raster ops
  372. Global Const R2_BLACK = 1    '   0
  373. Global Const R2_NOTMERGEPEN = 2    '  DPon
  374. Global Const R2_MASKNOTPEN = 3    '  DPna
  375. Global Const R2_NOTCOPYPEN = 4    '  PN
  376. Global Const R2_MASKPENNOT = 5    '  PDna
  377. Global Const R2_NOT = 6    '  Dn
  378. Global Const R2_XORPEN = 7    '  DPx
  379. Global Const R2_NOTMASKPEN = 8    '  DPan
  380. Global Const R2_MASKPEN = 9    '  DPa
  381. Global Const R2_NOTXORPEN = 10    '  DPxn
  382. Global Const R2_NOP = 11    '  D
  383. Global Const R2_MERGENOTPEN = 12    '  DPno
  384. Global Const R2_COPYPEN = 13    '  P
  385. Global Const R2_MERGEPENNOT = 14    '  PDno
  386. Global Const R2_MERGEPEN = 15    '  DPo
  387. Global Const R2_WHITE = 16    '   1
  388.  
  389. '  Ternary raster operations
  390. Global Const SRCCOPY = &HCC0020    ' (DWORD) dest = source
  391. Global Const SRCPAINT = &HEE0086    ' (DWORD) dest = source OR dest
  392. Global Const SRCAND = &H8800C6    ' (DWORD) dest = source AND dest
  393. Global Const SRCINVERT = &H660046    ' (DWORD) dest = source XOR dest
  394. Global Const SRCERASE = &H440328    ' (DWORD) dest = source AND (NOT dest )
  395. Global Const NOTSRCCOPY = &H330008    ' (DWORD) dest = (NOT source)
  396. Global Const NOTSRCERASE = &H1100A6    ' (DWORD) dest = (NOT src) AND (NOT dest)
  397. Global Const MERGECOPY = &HC000CA    ' (DWORD) dest = (source AND pattern)
  398. Global Const MERGEPAINT = &HBB0226    ' (DWORD) dest = (NOT source) OR dest
  399. Global Const PATCOPY = &HF00021    ' (DWORD) dest = pattern
  400. Global Const PATPAINT = &HFB0A09    ' (DWORD) dest = DPSnoo
  401. Global Const PATINVERT = &H5A0049    ' (DWORD) dest = pattern XOR dest
  402. Global Const DSTINVERT = &H550009    ' (DWORD) dest = (NOT dest)
  403. Global Const BLACKNESS = &H42&    ' (DWORD) dest = BLACK
  404. Global Const WHITENESS = &HFF0062    ' (DWORD) dest = WHITE
  405.  
  406.  
  407. ' StretchBlt() Modes
  408. Global Const BLACKONWHITE = 1
  409. Global Const WHITEONBLACK = 2
  410. Global Const COLORONCOLOR = 3
  411.  
  412. ' PolyFill() Modes
  413. Global Const ALTERNATE = 1
  414. Global Const WINDING = 2
  415.  
  416. ' Text Alignment Options
  417. Global Const TA_NOUPDATECP = 0
  418. Global Const TA_UPDATECP = 1
  419.  
  420. Global Const TA_LEFT = 0
  421. Global Const TA_RIGHT = 2
  422. Global Const TA_CENTER = 6
  423.  
  424. Global Const TA_TOP = 0
  425. Global Const TA_BOTTOM = 8
  426. Global Const TA_BASELINE = 24
  427.  
  428. Global Const ETO_GRAYED = 1
  429. Global Const ETO_OPAQUE = 2
  430. Global Const ETO_CLIPPED = 4
  431.  
  432. Global Const ASPECT_FILTERING = &H1
  433.  
  434. ' Metafile Functions
  435. Global Const META_SETBKCOLOR = &H201
  436. Global Const META_SETBKMODE = &H102
  437. Global Const META_SETMAPMODE = &H103
  438. Global Const META_SETROP2 = &H104
  439. Global Const META_SETRELABS = &H105
  440. Global Const META_SETPOLYFILLMODE = &H106
  441. Global Const META_SETSTRETCHBLTMODE = &H107
  442. Global Const META_SETTEXTCHAREXTRA = &H108
  443. Global Const META_SETTEXTCOLOR = &H209
  444. Global Const META_SETTEXTJUSTIFICATION = &H20A
  445. Global Const META_SETWINDOWORG = &H20B
  446. Global Const META_SETWINDOWEXT = &H20C
  447. Global Const META_SETVIEWPORTORG = &H20D
  448. Global Const META_SETVIEWPORTEXT = &H20E
  449. Global Const META_OFFSETWINDOWORG = &H20F
  450. Global Const META_SCALEWINDOWEXT = &H400
  451. Global Const META_OFFSETVIEWPORTORG = &H211
  452. Global Const META_SCALEVIEWPORTEXT = &H412
  453. Global Const META_LINETO = &H213
  454. Global Const META_MOVETO = &H214
  455. Global Const META_EXCLUDECLIPRECT = &H415
  456. Global Const META_INTERSECTCLIPRECT = &H416
  457. Global Const META_ARC = &H817
  458. Global Const META_ELLIPSE = &H418
  459. Global Const META_FLOODFILL = &H419
  460. Global Const META_PIE = &H81A
  461. Global Const META_RECTANGLE = &H41B
  462. Global Const META_ROUNDRECT = &H61C
  463. Global Const META_PATBLT = &H61D
  464. Global Const META_SAVEDC = &H1E
  465. Global Const META_SETPIXEL = &H41F
  466. Global Const META_OFFSETCLIPRGN = &H220
  467. Global Const META_TEXTOUT = &H521
  468. Global Const META_BITBLT = &H922
  469. Global Const META_STRETCHBLT = &HB23
  470. Global Const META_POLYGON = &H324
  471. Global Const META_POLYLINE = &H325
  472. Global Const META_ESCAPE = &H626
  473. Global Const META_RESTOREDC = &H127
  474. Global Const META_FILLREGION = &H228
  475. Global Const META_FRAMEREGION = &H429
  476. Global Const META_INVERTREGION = &H12A
  477. Global Const META_PAINTREGION = &H12B
  478. Global Const META_SELECTCLIPREGION = &H12C
  479. Global Const META_SELECTOBJECT = &H12D
  480. Global Const META_SETTEXTALIGN = &H12E
  481. Global Const META_DRAWTEXT = &H62F
  482.  
  483. Global Const META_CHORD = &H830
  484. Global Const META_SETMAPPERFLAGS = &H231
  485. Global Const META_EXTTEXTOUT = &Ha32
  486. Global Const META_SETDIBTODEV = &Hd33
  487. Global Const META_SELECTPALETTE = &H234
  488. Global Const META_REALIZEPALETTE = &H35
  489. Global Const META_ANIMATEPALETTE = &H436
  490. Global Const META_SETPALENTRIES = &H37
  491. Global Const META_POLYPOLYGON = &H538
  492. Global Const META_RESIZEPALETTE = &H139
  493.  
  494. Global Const META_DIBBITBLT = &H940
  495. Global Const META_DIBSTRETCHBLT = &Hb41
  496. Global Const META_DIBCREATEPATTERNBRUSH = &H142
  497. Global Const META_STRETCHDIB = &Hf43
  498.  
  499. Global Const META_DELETEOBJECT = &H1f0
  500.  
  501. Global Const META_CREATEPALETTE = &Hf7
  502. Global Const META_CREATEBRUSH = &HF8
  503. Global Const META_CREATEPATTERNBRUSH = &H1F9
  504. Global Const META_CREATEPENINDIRECT = &H2FA
  505. Global Const META_CREATEFONTINDIRECT = &H2FB
  506. Global Const META_CREATEBRUSHINDIRECT = &H2FC
  507. Global Const META_CREATEBITMAPINDIRECT = &H2FD
  508. Global Const META_CREATEBITMAP = &H6FE
  509. Global Const META_CREATEREGION = &H6FF
  510.  
  511.  
  512. ' GDI Escapes
  513. Global Const NEWFRAME = 1
  514. Global Const ABORTDOC = 2
  515. Global Const NEXTBAND = 3
  516. Global Const SETCOLORTABLE = 4
  517. Global Const GETCOLORTABLE = 5
  518. Global Const FLUSHOUTPUT = 6
  519. Global Const DRAFTMODE = 7
  520. Global Const QUERYESCSUPPORT = 8
  521. Global Const SETABORTPROC = 9
  522. Global Const STARTDOC = 10
  523. Global Const ENDDOCAPI = 11
  524. Global Const GETPHYSPAGESIZE = 12
  525. Global Const GETPRINTINGOFFSET = 13
  526. Global Const GETSCALINGFACTOR = 14
  527. Global Const MFCOMMENT = 15
  528. Global Const GETPENWIDTH = 16
  529. Global Const SETCOPYCOUNT = 17
  530. Global Const SELECTPAPERSOURCE = 18
  531. Global Const DEVICEDATA = 19
  532. Global Const PASSTHROUGH = 19
  533. Global Const GETTECHNOLGY = 20
  534. Global Const GETTECHNOLOGY = 20
  535. Global Const SETENDCAP = 21
  536. Global Const SETLINEJOIN = 22
  537. Global Const SETMITERLIMIT = 23
  538. Global Const BANDINFO = 24
  539. Global Const DRAWPATTERNRECT = 25
  540. Global Const GETVECTORPENSIZE = 26
  541. Global Const GETVECTORBRUSHSIZE = 27
  542. Global Const ENABLEDUPLEX = 28
  543. Global Const GETSETPAPERBINS = 29
  544. Global Const GETSETPRINTORIENT = 30
  545. Global Const ENUMPAPERBINS = 31
  546. Global Const SETDIBSCALING = 32
  547. Global Const EPSPRINTING = 33
  548. Global Const ENUMPAPERMETRICS = 34
  549. Global Const GETSETPAPERMETRICS = 35
  550. Global Const POSTSCRIPT_DATA = 37
  551. Global Const POSTSCRIPT_IGNORE = 38
  552. Global Const GETEXTENDEDTEXTMETRICS = 256
  553. Global Const GETEXTENTTABLE = 257
  554. Global Const GETPAIRKERNTABLE = 258
  555. Global Const GETTRACKKERNTABLE = 259
  556. Global Const EXTTEXTOUTAPI = 512
  557. Global Const ENABLERELATIVEWIDTHS = 768
  558. Global Const ENABLEPAIRKERNING = 769
  559. Global Const SETKERNTRACK = 770
  560. Global Const SETALLJUSTVALUES = 771
  561. Global Const SETCHARSET = 772
  562.  
  563. Global Const STRETCHBLTAPI = 2048
  564. Global Const BEGIN_PATH = 4096
  565. Global Const CLIP_TO_PATH = 4097
  566. Global Const END_PATH = 4098
  567. Global Const EXT_DEVICE_CAPS = 4099
  568. Global Const RESTORE_CTM = 4100
  569. Global Const SAVE_CTM = 4101
  570. Global Const SET_ARC_DIRECTION = 4102
  571. Global Const SET_BACKGROUND_COLOR = 4103
  572. Global Const SET_POLY_MODE = 4104
  573. Global Const SET_SCREEN_ANGLE = 4105
  574. Global Const SET_SPREAD = 4106
  575. Global Const TRANSFORM_CTM = 4107
  576. Global Const SET_CLIP_BOX = 4108
  577. Global Const SET_BOUNDS = 4109
  578. Global Const SET_MIRROR_MODE = 4110
  579.  
  580. ' Spooler Error Codes
  581. Global Const SP_NOTREPORTED = &H4000
  582. Global Const SP_ERROR = (-1)
  583. Global Const SP_APPABORT = (-2)
  584. Global Const SP_USERABORT = (-3)
  585. Global Const SP_OUTOFDISK = (-4)
  586. Global Const SP_OUTOFMEMORY = (-5)
  587.  
  588. Global Const PR_JOBSTATUS = &H0
  589.  
  590. ' Bitmap Header Definition
  591. Type BITMAP '14 bytes
  592.     bmType As Integer
  593.     bmWidth As Integer
  594.     bmHeight As Integer
  595.     bmWidthBytes As Integer
  596.     bmPlanes As String * 1
  597.     bmBitsPixel As String * 1
  598.     bmBits As Long
  599. End Type
  600.  
  601. Type RGBTRIPLE 
  602.     rgbtBlue As String * 1
  603.     rgbtGreen As String * 1
  604.     rgbtRed As String * 1
  605. End Type
  606.  
  607. Type RGBQUAD
  608.     rgbBlue as String * 1
  609.     rgbGreen As String * 1
  610.     rgbRed As String * 1
  611.     rgbReserved As String * 1
  612. End Type
  613.  
  614. ' structures for defining DIBs
  615. Type BITMAPCOREHEADER '12 bytes
  616.     bcSize as Long
  617.     bcWidth As Integer
  618.     bcHeight As Integer
  619.     bcPlanes As Integer
  620.     bcBitCount As Integer
  621. End Type
  622.  
  623. Type BITMAPINFOHEADER '40 bytes
  624.     biSize As Long
  625.     biWidth As Long
  626.     biHeight As Long
  627.     biPlanes As Integer
  628.     biBitCount As Integer
  629.     biCompression As Long
  630.     biSizeImage As Long
  631.     biXPelsPerMeter As Long
  632.     biYPelsPerMeter As Long
  633.     biClrUsed As Long
  634.     biClrImportant As Long
  635. End Type
  636.  
  637. ' constants for the biCompression field
  638. Global Const BI_RGB = 0&
  639. Global Const BI_RLE8 = 1&
  640. Global Const BI_RLE4 = 2&
  641.  
  642. Type BITMAPINFO
  643.     bmiHeader as BITMAPINFOHEADER
  644.     bmiColors As String * 128 ' Array length is arbitrary; may be changed
  645. End Type
  646.  
  647. Type BITMAPCOREINFO
  648.     bmciHeader As BITMAPCOREHEADER
  649.     bmciColors As String * 96 ' Array length is arbitrary; may be changed
  650. End Type
  651.  
  652. Type BITMAPFILEHEADER
  653.     bfType As Integer
  654.     bfSize As Long
  655.     bfReserved1 As Integer
  656.     bfReserved2 As Integer
  657.     bfOffBits As Long
  658. End Type
  659.  
  660.  
  661. ' Clipboard Metafile Picture Structure
  662. Type HANDLETABLE
  663.     objectHandle As String * 512 ' Array length is arbitrary; may be changed
  664. End Type
  665.  
  666. Type METARECORD
  667.     rdSize As Long
  668.     rdFunction As Integer
  669.     rdParm As String * 512 ' Array length is arbitrary; may be changed
  670. End Type
  671.  
  672.  
  673. Type METAFILEPICT
  674.     mm As Integer
  675.     xExt As Integer
  676.     yExt As Integer
  677.     hMF As Integer
  678. End Type
  679.  
  680. Type METAHEADER
  681.     mtType As Integer
  682.     mtHeaderSize As Integer
  683.     mtVersion As Integer
  684.     mtSize As Long
  685.     mtNoObjects As Integer
  686.     mtMaxRecord As Long
  687.     mtNoParameters As Integer
  688. End Type
  689.  
  690. Type TEXTMETRIC
  691.     tmHeight As Integer
  692.     tmAscent As Integer
  693.     tmDescent As Integer
  694.     tmInternalLeading As Integer
  695.     tmExternalLeading As Integer
  696.     tmAveCharWidth As Integer
  697.     tmMaxCharWidth As Integer
  698.     tmWeight As Integer
  699.     tmItalic As String * 1
  700.     tmUnderlined As String * 1
  701.     tmStruckOut As String * 1
  702.     tmFirstChar As String * 1
  703.     tmLastChar As String * 1
  704.     tmDefaultChar As String * 1
  705.     tmBreakChar As String * 1
  706.     tmPitchAndFamily As String * 1
  707.     tmCharSet As String * 1
  708.     tmOverhang As Integer
  709.     tmDigitizedAspectX As Integer
  710.     tmDigitizedAspectY As Integer
  711. End Type
  712.  
  713. ' GDI Logical Objects:
  714.  
  715. '  Pel Array
  716. Type PELARRAY
  717.     paXCount As Integer
  718.     paYCount As Integer
  719.     paXExt As Integer
  720.     paYExt As Integer
  721.     paRGBs As Integer
  722. End Type
  723.  
  724. ' Logical Brush (or Pattern)
  725. Type LOGBRUSH
  726.     lbStyle As Integer
  727.     lbColor As Long
  728.     lbHatch As Integer
  729. End Type
  730.  
  731. ' Logical Pen
  732. Type LOGPEN
  733.     lopnStyle As Integer
  734.     lopnWidth As POINTAPI
  735.     lopnColor As Long
  736. End Type
  737.  
  738. Type PALETTEENTRY
  739.     peRed As String * 1
  740.     peGreen As String * 1
  741.     peBlue As String * 1
  742.     peFlags As String * 1
  743. End Type
  744.  
  745. ' Logical Palette
  746. Type LOGPALETTE
  747.     palVersion As Integer
  748.     palNumEntries As Integer
  749.     palPalEntry As String * 252 ' Array length is arbitrary; may be changed
  750. End Type
  751.  
  752. ' Logical Font
  753. Global Const LF_FACESIZE = 32
  754.  
  755. Type LOGFONT
  756.     lfHeight As Integer
  757.     lfWidth As Integer
  758.     lfEscapement As Integer
  759.     lfOrientation As Integer
  760.     lfWeight As Integer
  761.     lfItalic As String * 1
  762.     lfUnderline As String * 1
  763.     lfStrikeOut As String * 1
  764.     lfCharSet As String * 1
  765.     lfOutPrecision As String * 1
  766.     lfClipPrecision As String * 1
  767.     lfQuality As String * 1
  768.     lfPitchAndFamily As String * 1
  769.     lfFaceName As String * LF_FACESIZE
  770. End Type
  771.  
  772. Global Const OUT_DEFAULT_PRECIS = 0
  773. Global Const OUT_STRING_PRECIS = 1
  774. Global Const OUT_CHARACTER_PRECIS = 2
  775. Global Const OUT_STROKE_PRECIS = 3
  776.  
  777. Global Const CLIP_DEFAULT_PRECIS = 0
  778. Global Const CLIP_CHARACTER_PRECIS = 1
  779. Global Const CLIP_STROKE_PRECIS = 2
  780.  
  781. Global Const DEFAULT_QUALITY = 0
  782. Global Const DRAFT_QUALITY = 1
  783. Global Const PROOF_QUALITY = 2
  784.  
  785. Global Const DEFAULT_PITCH = 0
  786. Global Const FIXED_PITCH = 1
  787. Global Const VARIABLE_PITCH = 2
  788.  
  789. Global Const ANSI_CHARSET = 0
  790. Global Const SYMBOL_CHARSET = 2
  791. Global Const SHIFTJIS_CHARSET = 128
  792. Global Const OEM_CHARSET = 255
  793.  
  794. ' Font Families
  795. '
  796. Global Const FF_DONTCARE = 0    '  Don't care or don't know.
  797. Global Const FF_ROMAN = 16    '  Variable stroke width, serifed.
  798.  
  799. ' Times Roman, Century Schoolbook, etc.
  800. Global Const FF_SWISS = 32    '  Variable stroke width, sans-serifed.
  801.  
  802. ' Helvetica, Swiss, etc.
  803. Global Const FF_MODERN = 48    '  Constant stroke width, serifed or sans-serifed.
  804.  
  805. ' Pica, Elite, Courier, etc.
  806. Global Const FF_SCRIPT = 64    '  Cursive, etc.
  807. Global Const FF_DECORATIVE = 80    '  Old English, etc.
  808.  
  809. ' Font Weights
  810. Global Const FW_DONTCARE = 0
  811. Global Const FW_THIN = 100
  812. Global Const FW_EXTRALIGHT = 200
  813. Global Const FW_LIGHT = 300
  814. Global Const FW_NORMAL = 400
  815. Global Const FW_MEDIUM = 500
  816. Global Const FW_SEMIBOLD = 600
  817. Global Const FW_BOLD = 700
  818. Global Const FW_EXTRABOLD = 800
  819. Global Const FW_HEAVY = 900
  820.  
  821. Global Const FW_ULTRALIGHT = FW_EXTRALIGHT
  822. Global Const FW_REGULAR = FW_NORMAL
  823. Global Const FW_DEMIBOLD = FW_SEMIBOLD
  824. Global Const FW_ULTRABOLD = FW_EXTRABOLD
  825. Global Const FW_BLACK = FW_HEAVY
  826.  
  827. ' Background Modes
  828. Global Const TRANSPARENT = 1
  829. Global Const OPAQUE = 2
  830.  
  831. ' Mapping Modes
  832. Global Const MM_TEXT = 1
  833. Global Const MM_LOMETRIC = 2
  834. Global Const MM_HIMETRIC = 3
  835. Global Const MM_LOENGLISH = 4
  836. Global Const MM_HIENGLISH = 5
  837. Global Const MM_TWIPS = 6
  838. Global Const MM_ISOTROPIC = 7
  839. Global Const MM_ANISOTROPIC = 8
  840.  
  841. ' Coordinate Modes
  842. Global Const ABSOLUTE = 1
  843. Global Const RELATIVE = 2
  844.  
  845. ' Stock Logical Objects
  846. Global Const WHITE_BRUSH = 0
  847. Global Const LTGRAY_BRUSH = 1
  848. Global Const GRAY_BRUSH = 2
  849. Global Const DKGRAY_BRUSH = 3
  850. Global Const BLACK_BRUSH = 4
  851. Global Const NULL_BRUSH = 5
  852. Global Const HOLLOW_BRUSH = NULL_BRUSH
  853. Global Const WHITE_PEN = 6
  854. Global Const BLACK_PEN = 7
  855. Global Const NULL_PEN = 8
  856. Global Const OEM_FIXED_FONT = 10
  857. Global Const ANSI_FIXED_FONT = 11
  858. Global Const ANSI_VAR_FONT = 12
  859. Global Const SYSTEM_FONT = 13
  860. Global Const DEVICE_DEFAULT_FONT = 14
  861. Global Const DEFAULT_PALETTE = 15
  862. Global Const SYSTEM_FIXED_FONT = 16
  863.  
  864. ' Brush Styles
  865. Global Const BS_SOLID = 0
  866. Global Const BS_NULL = 1
  867. Global Const BS_HOLLOW = BS_NULL
  868. Global Const BS_HATCHED = 2
  869. Global Const BS_PATTERN = 3
  870. Global Const BS_INDEXED = 4
  871. Global Const BS_DIBPATTERN = 5
  872.  
  873. ' Hatch Styles
  874. Global Const HS_HORIZONTAL = 0    '  -----
  875. Global Const HS_VERTICAL = 1    '  |||||
  876. Global Const HS_FDIAGONAL = 2    '  \\\\\
  877. Global Const HS_BDIAGONAL = 3    '  /////
  878. Global Const HS_CROSS = 4    '  +++++
  879. Global Const HS_DIAGCROSS = 5    '  xxxxx
  880.  
  881. ' Pen Styles
  882. Global Const PS_SOLID = 0
  883. Global Const PS_DASH = 1    '  -------
  884. Global Const PS_DOT = 2    '  .......
  885. Global Const PS_DASHDOT = 3    '  _._._._
  886. Global Const PS_DASHDOTDOT = 4    '  _.._.._
  887. Global Const PS_NULL = 5
  888. Global Const PS_INSIDEFRAME = 6
  889.  
  890. ' Device Parameters for GetDeviceCaps()
  891. Global Const DRIVERVERSION = 0    '  Device driver version
  892. Global Const TECHNOLOGY = 2    '  Device classification
  893. Global Const HORZSIZE = 4    '  Horizontal size in millimeters
  894. Global Const VERTSIZE = 6    '  Vertical size in millimeters
  895. Global Const HORZRES = 8    '  Horizontal width in pixels
  896. Global Const VERTRES = 10    '  Vertical width in pixels
  897. Global Const BITSPIXEL = 12    '  Number of bits per pixel
  898. Global Const PLANES = 14    '  Number of planes
  899. Global Const NUMBRUSHES = 16    '  Number of brushes the device has
  900. Global Const NUMPENS = 18    '  Number of pens the device has
  901. Global Const NUMMARKERS = 20    '  Number of markers the device has
  902. Global Const NUMFONTS = 22    '  Number of fonts the device has
  903. Global Const NUMCOLORS = 24    '  Number of colors the device supports
  904. Global Const PDEVICESIZE = 26    '  Size required for device descriptor
  905. Global Const CURVECAPS = 28    '  Curve capabilities
  906. Global Const LINECAPS = 30    '  Line capabilities
  907. Global Const POLYGONALCAPS = 32    '  Polygonal capabilities
  908. Global Const TEXTCAPS = 34    '  Text capabilities
  909. Global Const CLIPCAPS = 36    '  Clipping capabilities
  910. Global Const RASTERCAPS = 38    '  Bitblt capabilities
  911. Global Const ASPECTX = 40    '  Length of the X leg
  912. Global Const ASPECTY = 42    '  Length of the Y leg
  913. Global Const ASPECTXY = 44    '  Length of the hypotenuse
  914.  
  915. Global Const LOGPIXELSX = 88    '  Logical pixels/inch in X
  916. Global Const LOGPIXELSY = 90    '  Logical pixels/inch in Y
  917.  
  918. Global Const SIZEPALETTE = 104    '  Number of entries in physical palette
  919. Global Const NUMRESERVED = 106    '  Number of reserved entries in palette
  920. Global Const COLORRES = 108    '  Actual color resolution
  921.  
  922.  
  923. ' Device Capability Masks:
  924.  
  925. ' Device Technologies
  926. Global Const DT_PLOTTER = 0    '  Vector plotter
  927. Global Const DT_RASDISPLAY = 1    '  Raster display
  928. Global Const DT_RASPRINTER = 2    '  Raster printer
  929. Global Const DT_RASCAMERA = 3    '  Raster camera
  930. Global Const DT_CHARSTREAM = 4    '  Character-stream, PLP
  931. Global Const DT_METAFILE = 5    '  Metafile, VDM
  932. Global Const DT_DISPFILE = 6    '  Display-file
  933.  
  934. ' Curve Capabilities
  935. Global Const CC_NONE = 0    '  Curves not supported
  936. Global Const CC_CIRCLES = 1    '  Can do circles
  937. Global Const CC_PIE = 2    '  Can do pie wedges
  938. Global Const CC_CHORD = 4    '  Can do chord arcs
  939. Global Const CC_ELLIPSES = 8    '  Can do ellipese
  940. Global Const CC_WIDE = 16    '  Can do wide lines
  941. Global Const CC_STYLED = 32    '  Can do styled lines
  942. Global Const CC_WIDESTYLED = 64    '  Can do wide styled lines
  943. Global Const CC_INTERIORS = 128    '  Can do interiors
  944.  
  945. ' Line Capabilities
  946. Global Const LC_NONE = 0    '  Lines not supported
  947. Global Const LC_POLYLINE = 2    '  Can do polylines
  948. Global Const LC_MARKER = 4    '  Can do markers
  949. Global Const LC_POLYMARKER = 8    '  Can do polymarkers
  950. Global Const LC_WIDE = 16    '  Can do wide lines
  951. Global Const LC_STYLED = 32    '  Can do styled lines
  952. Global Const LC_WIDESTYLED = 64    '  Can do wide styled lines
  953. Global Const LC_INTERIORS = 128    '  Can do interiors
  954.  
  955. ' Polygonal Capabilities
  956. Global Const PC_NONE = 0    '  Polygonals not supported
  957. Global Const PC_POLYGON = 1    '  Can do polygons
  958. Global Const PC_RECTANGLE = 2    '  Can do rectangles
  959. Global Const PC_WINDPOLYGON = 4    '  Can do winding polygons
  960. Global Const PC_TRAPEZOID = 4    '  Can do trapezoids
  961. Global Const PC_SCANLINE = 8    '  Can do scanlines
  962. Global Const PC_WIDE = 16    '  Can do wide borders
  963. Global Const PC_STYLED = 32    '  Can do styled borders
  964. Global Const PC_WIDESTYLED = 64    '  Can do wide styled borders
  965. Global Const PC_INTERIORS = 128    '  Can do interiors
  966.  
  967. ' Polygonal Capabilities
  968. Global Const CP_NONE = 0    '  No clipping of output
  969. Global Const CP_RECTANGLE = 1    '  Output clipped to rects
  970.  
  971. ' Text Capabilities
  972. Global Const TC_OP_CHARACTER = &H1    '  Can do OutputPrecision    CHARACTER
  973. Global Const TC_OP_STROKE = &H2    '  Can do OutputPrecision    STROKE
  974. Global Const TC_CP_STROKE = &H4    '  Can do ClipPrecision    STROKE
  975. Global Const TC_CR_90 = &H8    '  Can do CharRotAbility    90
  976. Global Const TC_CR_ANY = &H10    '  Can do CharRotAbility    ANY
  977. Global Const TC_SF_X_YINDEP = &H20    '  Can do ScaleFreedom    X_YINDEPENDENT
  978. Global Const TC_SA_DOUBLE = &H40    '  Can do ScaleAbility    DOUBLE
  979. Global Const TC_SA_INTEGER = &H80    '  Can do ScaleAbility    INTEGER
  980. Global Const TC_SA_CONTIN = &H100    '  Can do ScaleAbility    CONTINUOUS
  981. Global Const TC_EA_DOUBLE = &H200    '  Can do EmboldenAbility    DOUBLE
  982. Global Const TC_IA_ABLE = &H400    '  Can do ItalisizeAbility    ABLE
  983. Global Const TC_UA_ABLE = &H800    '  Can do UnderlineAbility    ABLE
  984. Global Const TC_SO_ABLE = &H1000    '  Can do StrikeOutAbility    ABLE
  985. Global Const TC_RA_ABLE = &H2000    '  Can do RasterFontAble    ABLE
  986. Global Const TC_VA_ABLE = &H4000    '  Can do VectorFontAble    ABLE
  987. Global Const TC_RESERVED = &H8000
  988.  
  989. ' Raster Capabilities
  990. Global Const RC_BITBLT = 1    '  Can do standard BLT.
  991. Global Const RC_BANDING = 2    '  Device requires banding support
  992. Global Const RC_SCALING = 4    '  Device requires scaling support
  993. Global Const RC_BITMAP64 = 8    '  Device can support >64K bitmap
  994. Global Const RC_GDI20_OUTPUT = &H10    '  has 2.0 output calls
  995. Global Const RC_DI_BITMAP = &H80    '  supports DIB to memory
  996. Global Const RC_PALETTE = &H100    '  supports a palette
  997. Global Const RC_DIBTODEV = &H200    '  supports DIBitsToDevice
  998. Global Const RC_BIGFONT = &H400    '  supports >64K fonts
  999. Global Const RC_STRETCHBLT = &H800    '  supports StretchBlt
  1000. Global Const RC_FLOODFILL = &H1000    '  supports FloodFill
  1001. Global Const RC_STRETCHDIB = &H2000    '  supports StretchDIBits
  1002.  
  1003. ' palette entry flags
  1004. Global Const PC_RESERVED = &H1    '  palette index used for animation
  1005. Global Const PC_EXPLICIT = &H2    '  palette index is explicit to device
  1006. Global Const PC_NOCOLLAPSE = &H4    '  do not match color to system palette
  1007.  
  1008. ' DIB color table identifiers
  1009. Global Const DIB_RGB_COLORS = 0    '  color table in RGBTriples
  1010. Global Const DIB_PAL_COLORS = 1    '  color table in palette indices
  1011.  
  1012. ' constants for Get/SetSystemPaletteUse()
  1013. Global Const SYSPAL_STATIC = 1
  1014. Global Const SYSPAL_NOSTATIC = 2
  1015.  
  1016. ' constants for CreateDIBitmap
  1017. Global Const CBM_INIT = &H4&    '  initialize bitmap
  1018.  
  1019. ' DrawText() Format Flags
  1020. Global Const DT_TOP = &H0
  1021. Global Const DT_LEFT = &H0
  1022. Global Const DT_CENTER = &H1
  1023. Global Const DT_RIGHT = &H2
  1024. Global Const DT_VCENTER = &H4
  1025. Global Const DT_BOTTOM = &H8
  1026. Global Const DT_WORDBREAK = &H10
  1027. Global Const DT_SINGLELINE = &H20
  1028. Global Const DT_EXPANDTABS = &H40
  1029. Global Const DT_TABSTOP = &H80
  1030. Global Const DT_NOCLIP = &H100
  1031. Global Const DT_EXTERNALLEADING = &H200
  1032. Global Const DT_CALCRECT = &H400
  1033. Global Const DT_NOPREFIX = &H800
  1034. Global Const DT_INTERNAL = &H1000
  1035.  
  1036. Declare Function DrawText Lib "User" (ByVal hDC As Integer, ByVal lpStr As String, ByVal nCount As Integer, lpRect As RECT, ByVal wFormat As Integer) As Integer
  1037. Declare Function DrawIcon Lib "User" (ByVal hDC As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal hIcon As Integer) As Integer
  1038.  
  1039. ' ExtFloodFill style flags
  1040. Global Const FLOODFILLBORDER = 0
  1041. Global Const FLOODFILLSURFACE = 1
  1042.  
  1043. Declare Function GetWindowDC Lib "User" (ByVal hWnd As Integer) As Integer
  1044. Declare Function GetDC Lib "User" (ByVal hWnd As Integer) As Integer
  1045. Declare Function ReleaseDC Lib "User" (ByVal hWnd As Integer, ByVal hDC As Integer) As Integer
  1046. Declare Function CreateDC Lib "GDI" (ByVal lpDriverName As String, ByVal lpDeviceName As String, ByVal lpOutput As String, ByVal lpInitData As String) As Integer
  1047. Declare Function CreateIC Lib "GDI" (ByVal lpDriverName As String, ByVal lpDeviceName As String, ByVal lpOutput As String, ByVal lpInitData As String) As Integer
  1048. Declare Function CreateCompatibleDC Lib "GDI" (ByVal hDC As Integer) As Integer
  1049. Declare Function DeleteDC Lib "GDI" (ByVal hDC As Integer) As Integer
  1050. Declare Function SaveDC Lib "GDI" (ByVal hDC As Integer) As Integer
  1051. Declare Function RestoreDC Lib "GDI" (ByVal hDC As Integer, ByVal nSavedDC As Integer) As Integer
  1052. Declare Function MoveTo Lib "GDI" (ByVal hDC As Integer, ByVal X As Integer, ByVal Y As Integer) As Long
  1053. Declare Function GetCurrentPosition Lib "GDI" (ByVal hDC As Integer) As Long
  1054. Declare Function LineTo Lib "GDI" (ByVal hDC As Integer, ByVal X As Integer, ByVal Y As Integer) As Integer
  1055. Declare Function GetDCOrg Lib "GDI" (ByVal hDC As Integer) As Long
  1056.  
  1057. Declare Function MulDiv Lib "GDI" (ByVal nNumber As Integer, ByVal nNumerator As Integer, ByVal nDenominator As Integer) As Integer
  1058.  
  1059. Declare Function ExtTextOut Lib "GDI" (ByVal hDC As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal wOptions As Integer, lpRect As Any, ByVal lpString As String, ByVal nCount As Integer, lpDx As Any) As Integer
  1060.  
  1061. Declare Function Polyline Lib "GDI" (ByVal hDC As Integer, lpPoints As POINTAPI, ByVal nCount As Integer) As Integer
  1062. Declare Function Polygon Lib "GDI" (ByVal hDC As Integer, lpPoints As POINTAPI, ByVal nCount As Integer) As Integer
  1063. Declare Function PolyPolygon Lib "GDI" (ByVal hDC As Integer, lpPoints As POINTAPI, lpPolyCounts As Integer, ByVal nCount As Integer) As Integer
  1064.  
  1065. Declare Function Rectangle Lib "GDI" (ByVal hDC As Integer, ByVal X1 As Integer, ByVal Y1 As Integer, ByVal X2 As Integer, ByVal Y2 As Integer) As Integer
  1066. Declare Function RoundRect Lib "GDI" (ByVal hDC As Integer, ByVal X1 As Integer, ByVal Y1 As Integer, ByVal X2 As Integer, ByVal Y2 As Integer, ByVal X3 As Integer, ByVal Y3 As Integer) As Integer
  1067. Declare Function Ellipse Lib "GDI" (ByVal hDC As Integer, ByVal X1 As Integer, ByVal Y1 As Integer, ByVal X2 As Integer, ByVal Y2 As Integer) As Integer
  1068. Declare Function Arc Lib "GDI" (ByVal hDC As Integer, ByVal X1 As Integer, ByVal Y1 As Integer, ByVal X2 As Integer, ByVal Y2 As Integer, ByVal X3 As Integer, ByVal Y3 As Integer, ByVal X4 As Integer, ByVal Y4 As Integer) As Integer
  1069. Declare Function Chord Lib "GDI" (ByVal hDC As Integer, ByVal X1 As Integer, ByVal Y1 As Integer, ByVal X2 As Integer, ByVal Y2 As Integer, ByVal X3 As Integer, ByVal Y3 As Integer, ByVal X4 As Integer, ByVal Y4 As Integer) As Integer
  1070. Declare Function Pie Lib "GDI" (ByVal hDC As Integer, ByVal X1 As Integer, ByVal Y1 As Integer, ByVal X2 As Integer, ByVal Y2 As Integer, ByVal X3 As Integer, ByVal Y3 As Integer, ByVal X4 As Integer, ByVal Y4 As Integer) As Integer
  1071. Declare Function PatBlt Lib "GDI" (ByVal hDC As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal dwRop As Long) As Integer
  1072. Declare Function BitBlt Lib "GDI" (ByVal hDestDC As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal hSrcDC As Integer, ByVal XSrc As Integer, ByVal YSrc As Integer, ByVal dwRop As Long) As Integer
  1073. Declare Function StretchBlt% Lib "GDI" (ByVal hDC%, ByVal X%, ByVal Y%, ByVal nWidth%, ByVal nHeight%, ByVal hSrcDC%, ByVal XSrc%, ByVal YSrc%, ByVal nSrcWidth%, ByVal nSrcHeight%, ByVal dwRop&)
  1074. Declare Function TextOut Lib "GDI" (ByVal hDC As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal lpString As String, ByVal nCount As Integer) As Integer
  1075. Declare Function TabbedTextOut Lib "GDI" (ByVal hDC As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal lpString As String, ByVal nCount As Integer, ByVal nTabPositions As Integer, lpnTabStopPositions As Integer, ByVal nTabOrigin As Integer) As Long
  1076. Declare Function GetCharWidth Lib "GDI" (ByVal hDC As Integer, ByVal wFirstChar As Integer, ByVal wLastChar As Integer, lpBuffer As Integer) As Integer
  1077. Declare Function SetPixel Lib "GDI" (ByVal hDC As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal crColor As Long) As Long
  1078. Declare Function GetPixel Lib "GDI" (ByVal hDC As Integer, ByVal X As Integer, ByVal Y As Integer) As Long
  1079. Declare Function FloodFill Lib "GDI" (ByVal hDC As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal crColor As Long) As Integer
  1080. Declare Function ExtFloodFill Lib "GDI" (ByVal hDC As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal crColor As Long, ByVal wFillType As Integer) As Integer
  1081.  
  1082. Declare Function GetStockObject Lib "GDI" (ByVal nIndex As Integer) As Integer
  1083.  
  1084. Declare Function CreatePen Lib "GDI" (ByVal nPenStyle As Integer, ByVal nWidth As Integer, ByVal crColor As Long) As Integer
  1085. Declare Function CreatePenIndirect Lib "GDI" (lpLogPen As LOGPEN) As Integer
  1086.  
  1087. Declare Function CreateSolidBrush Lib "GDI" (ByVal crColor As Long) As Integer
  1088. Declare Function CreateHatchBrush Lib "GDI" (ByVal nIndex As Integer, ByVal crColor As Long) As Integer
  1089. Declare Function SetBrushOrg Lib "GDI" (ByVal hDC As Integer, ByVal X As Integer, ByVal Y As Integer) As Long
  1090. Declare Function GetBrushOrg Lib "GDI" (ByVal hDC As Integer) As Long
  1091. Declare Function CreatePatternBrush Lib "GDI" (ByVal hBitmap As Integer) As Integer
  1092. Declare Function CreateBrushIndirect Lib "GDI" (lpLogBrush As LOGBRUSH) As Integer
  1093.  
  1094. Declare Function CreateBitmap Lib "GDI" (ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal nPlanes As Integer, ByVal nBitCount As Integer, ByVal lpBits As Any) As Integer
  1095. Declare Function CreateBitmapIndirect Lib "GDI" (lpBitmap As BITMAP) As Integer
  1096. Declare Function CreateCompatibleBitmap Lib "GDI" (ByVal hDC As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer) As Integer
  1097. Declare Function CreateDiscardableBitmap Lib "GDI" (ByVal hDC As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer) As Integer
  1098.  
  1099. Declare Function SetBitmapBits Lib "GDI" (ByVal hBitmap As Integer, ByVal dwCount As Long, ByVal lpBits As Any) As Long
  1100. Declare Function GetBitmapBits Lib "GDI" (ByVal hBitmap As Integer, ByVal dwCount As Long, ByVal lpBits As Any) As Long
  1101. Declare Function SetBitmapDimension Lib "GDI" (ByVal hBitmap As Integer, ByVal X As Integer, ByVal Y As Integer) As Long
  1102. Declare Function GetBitmapDimension Lib "GDI" (ByVal hBitmap As Integer) As Long
  1103.  
  1104. Declare Function CreateFont% Lib "GDI" (ByVal H%, ByVal W%, ByVal E%, ByVal O%, ByVal W%, ByVal I%, ByVal U%, ByVal S%, ByVal C%, ByVal OP%, ByVal CP%, ByVal Q%, ByVal PAF%, ByVal F$)
  1105. Declare Function CreateFontIndirect Lib "GDI" (lpLogFont As LOGFONT) As Integer
  1106.  
  1107. Declare Function SelectClipRgn Lib "GDI" (ByVal hDC As Integer, ByVal hRgn As Integer) As Integer
  1108. Declare Function CreateRectRgn Lib "GDI" (ByVal X1 As Integer, ByVal Y1 As Integer, ByVal X2 As Integer, ByVal Y2 As Integer) As Integer
  1109. Declare Sub SetRectRgn Lib "GDI" (ByVal hRgn As Integer, ByVal X1 As Integer, ByVal Y1 As Integer, ByVal X2 As Integer, ByVal Y2 As Integer)
  1110. Declare Function CreateRectRgnIndirect Lib "GDI" (lpRect As RECT) As Integer
  1111. Declare Function CreateEllipticRgnIndirect Lib "GDI" (lpRect As RECT) As Integer
  1112. Declare Function CreateEllipticRgn Lib "GDI" (ByVal X1 As Integer, ByVal Y1 As Integer, ByVal X2 As Integer, ByVal Y2 As Integer) As Integer
  1113. Declare Function CreatePolygonRgn Lib "GDI" (lpPoints As POINTAPI, ByVal nCount As Integer, ByVal nPolyFillMode As Integer) As Integer
  1114. Declare Function CreatePolyPolygonRgn Lib "GDI" (lpPoints As POINTAPI, lpPolyCounts As Integer, ByVal nCount As Integer, ByVal nPolyFillMode As Integer) As Integer
  1115. Declare Function CreateRoundRectRgn Lib "GDI" (ByVal X1 As Integer, ByVal Y1 As Integer, ByVal X2 As Integer, ByVal Y2 As Integer, ByVal X3 As Integer, ByVal Y3 As Integer) As Integer
  1116.  
  1117. Declare Function GetObject Lib "GDI" (ByVal hObject As Integer, ByVal nCount As Integer, ByVal lpObject As Long) As Integer
  1118. Declare Function DeleteObject Lib "GDI" (ByVal hObject As Integer) As Integer
  1119. Declare Function SelectObject Lib "GDI" (ByVal hDC As Integer, ByVal hObject As Integer) As Integer
  1120. Declare Function UnrealizeObject Lib "GDI" (ByVal hObject As Integer) As Integer
  1121.  
  1122. Declare Function SetBkColor Lib "GDI" (ByVal hDC As Integer, ByVal crColor As Long) As Long
  1123. Declare Function GetBkColor Lib "GDI" (ByVal hDC As Integer) As Long
  1124. Declare Function SetBkMode Lib "GDI" (ByVal hDC As Integer, ByVal nBkMode As Integer) As Integer
  1125. Declare Function GetBkMode Lib "GDI" (ByVal hDC As Integer) As Integer
  1126. Declare Function SetTextColor Lib "GDI" (ByVal hDC As Integer, ByVal crColor As Long) As Long
  1127. Declare Function GetTextColor Lib "GDI" (ByVal hDC As Integer) As Long
  1128. Declare Function SetTextAlign Lib "GDI" (ByVal hDC As Integer, ByVal wFlags As Integer) As Integer
  1129. Declare Function GetTextAlign Lib "GDI" (ByVal hDC As Integer) As Integer
  1130. Declare Function SetMapperFlags Lib "GDI" (ByVal hDC As Integer, ByVal dwFlag As Long) As Long
  1131. Declare Function GetAspectRatioFilter Lib "GDI" (ByVal hDC As Integer) As Long
  1132. Declare Function GetNearestColor Lib "GDI" (ByVal hDC As Integer, ByVal crColor As Long) As Long
  1133. Declare Function SetROP2 Lib "GDI" (ByVal hDC As Integer, ByVal nDrawMode As Integer) As Integer
  1134. Declare Function GetROP2 Lib "GDI" (ByVal hDC As Integer) As Integer
  1135. Declare Function SetStretchBltMode Lib "GDI" (ByVal hDC As Integer, ByVal nStretchMode As Integer) As Integer
  1136. Declare Function GetStretchBltMode Lib "GDI" (ByVal hDC As Integer) As Integer
  1137. Declare Function SetPolyFillMode Lib "GDI" (ByVal hDC As Integer, ByVal nPolyFillMode As Integer) As Integer
  1138. Declare Function GetPolyFillMode Lib "GDI" (ByVal hDC As Integer) As Integer
  1139. Declare Function SetMapMode Lib "GDI" (ByVal hDC As Integer, ByVal nMapMode As Integer) As Integer
  1140. Declare Function GetMapMode Lib "GDI" (ByVal hDC As Integer) As Integer
  1141. Declare Function SetWindowOrg Lib "GDI" (ByVal hDC As Integer, ByVal X As Integer, ByVal Y As Integer) As Long
  1142. Declare Function GetWindowOrg Lib "GDI" (ByVal hDC As Integer) As Long
  1143. Declare Function SetWindowExt Lib "GDI" (ByVal hDC As Integer, ByVal X As Integer, ByVal Y As Integer) As Long
  1144. Declare Function GetWindowExt Lib "GDI" (ByVal hDC As Integer) As Long
  1145. Declare Function SetViewportOrg Lib "GDI" (ByVal hDC As Integer, ByVal X As Integer, ByVal Y As Integer) As Long
  1146. Declare Function GetViewportOrg Lib "GDI" (ByVal hDC As Integer) As Long
  1147. Declare Function SetViewportExt Lib "GDI" (ByVal hDC As Integer, ByVal X As Integer, ByVal Y As Integer) As Long
  1148. Declare Function GetViewportExt Lib "GDI" (ByVal hDC As Integer) As Long
  1149. Declare Function OffsetViewportOrg Lib "GDI" (ByVal hDC As Integer, ByVal X As Integer, ByVal Y As Integer) As Long
  1150. Declare Function ScaleViewportExt Lib "GDI" (ByVal hDC As Integer, ByVal Xnum As Integer, ByVal Xdenom As Integer, ByVal Ynum As Integer, ByVal Ydenom As Integer) As Long
  1151. Declare Function OffsetWindowOrg Lib "GDI" (ByVal hDC As Integer, ByVal X As Integer, ByVal Y As Integer) As Long
  1152. Declare Function ScaleWindowExt Lib "GDI" (ByVal hDC As Integer, ByVal Xnum As Integer, ByVal Xdenom As Integer, ByVal Ynum As Integer, ByVal Ydenom As Integer) As Long
  1153.  
  1154. Declare Function GetClipBox Lib "GDI" (ByVal hDC As Integer, lpRect As RECT) As Integer
  1155. Declare Function IntersectClipRect Lib "GDI" (ByVal hDC As Integer, ByVal X1 As Integer, ByVal Y1 As Integer, ByVal X2 As Integer, ByVal Y2 As Integer) As Integer
  1156. Declare Function OffsetClipRgn Lib "GDI" (ByVal hDC As Integer, ByVal X As Integer, ByVal Y As Integer) As Integer
  1157. Declare Function ExcludeClipRect Lib "GDI" (ByVal hDC As Integer, ByVal X1 As Integer, ByVal Y1 As Integer, ByVal X2 As Integer, ByVal Y2 As Integer) As Integer
  1158. Declare Function PtVisible Lib "GDI" (ByVal hDC As Integer, ByVal X As Integer, ByVal Y As Integer) As Integer
  1159. Declare Function CombineRgn Lib "GDI" (ByVal hDestRgn As Integer, ByVal hSrcRgn1 As Integer, ByVal hSrcRgn2 As Integer, ByVal nCombineMode As Integer) As Integer
  1160. Declare Function EqualRgn Lib "GDI" (ByVal hSrcRgn1 As Integer, ByVal hSrcRgn2 As Integer) As Integer
  1161. Declare Function OffsetRgn Lib "GDI" (ByVal hRgn As Integer, ByVal X As Integer, ByVal Y As Integer) As Integer
  1162. Declare Function GetRgnBox Lib "GDI" (ByVal hRgn As Integer, lpRect As RECT) As Integer
  1163.  
  1164. Declare Function SetTextJustification Lib "GDI" (ByVal hDC As Integer, ByVal nBreakExtra As Integer, ByVal nBreakCount As Integer) As Integer
  1165. Declare Function GetTextExtent Lib "GDI" (ByVal hDC As Integer, ByVal lpString As String, ByVal nCount As Integer) As Long
  1166. Declare Function GetTabbedTextExtent Lib "GDI" (ByVal hDC As Integer, ByVal lpString As String, ByVal nCount As Integer, ByVal nTabPositions As Integer, lpnTabStopPositions As Integer) As Long
  1167. Declare Function SetTextCharacterExtra Lib "GDI" (ByVal hDC As Integer, ByVal nCharExtra As Integer) As Integer
  1168. Declare Function GetTextCharacterExtra Lib "GDI" (ByVal hDC As Integer) As Integer
  1169.  
  1170. Declare Function GetMetaFile Lib "GDI" (ByVal lpFilename As String) As Integer
  1171. Declare Function DeleteMetaFile Lib "GDI" (ByVal hMF As Integer) As Integer
  1172. Declare Function CopyMetaFile Lib "GDI" (ByVal hMF As Integer, ByVal lpFilename As String) As Integer
  1173.  
  1174. Declare Function PlayMetaFile Lib "GDI" (ByVal hDC As Integer, ByVal hMF As Integer) As Integer
  1175. Declare Sub PlayMetaFileRecord Lib "GDI" (ByVal hDC As Integer, lpHandletable As Integer, lpMetaRecord As METARECORD, ByVal nHandles As Integer)
  1176.  
  1177. Declare Function Escape Lib "GDI" (ByVal hDC As Integer, ByVal nEscape As Integer, ByVal nCount As Integer, ByVal lplnData As Any, ByVal lpOutData As Any) As Integer
  1178. Declare Function GetTextFace Lib "GDI" (ByVal hDC As Integer, ByVal nCount As Integer, ByVal lpFacename As String) As Integer
  1179.  
  1180. Declare Function GetTextMetrics Lib "GDI" (ByVal hDC As Integer, lpMetrics As TEXTMETRIC) As Integer
  1181.  
  1182. Declare Function GetDeviceCaps Lib "GDI" (ByVal hDC As Integer, ByVal nIndex As Integer) As Integer
  1183.  
  1184. Declare Function SetEnvironment Lib "GDI" (ByVal lpPortName As String, ByVal lpEnviron As String, ByVal nCount As Integer) As Integer
  1185. Declare Function GetEnvironment Lib "GDI" (ByVal lpPortName As String, lpEnviron As Any, ByVal nMaxCount As Integer) As Integer
  1186.  
  1187. Declare Function DPtoLP Lib "GDI" (ByVal hDC As Integer, lpPoints As POINTAPI, ByVal nCount As Integer) As Integer
  1188. Declare Function LPtoDP Lib "GDI" (ByVal hDC As Integer, lpPoints As POINTAPI, ByVal nCount As Integer) As Integer
  1189.  
  1190. Declare Function CreateMetaFile Lib "GDI" (lpString As Any) As Integer
  1191. Declare Function CloseMetaFile Lib "GDI" (ByVal hMF As Integer) As Integer
  1192. Declare Function GetMetaFileBits Lib "GDI" (ByVal hMF As Integer) As Integer
  1193. Declare Function SetMetaFileBits Lib "GDI" (ByVal hMem As Integer) As Integer
  1194.  
  1195. Declare Function SetDIBits Lib "GDI" (ByVal aHDC As Integer, ByVal hBitmap As Integer, ByVal nStartScan As Integer, ByVal nNumScans As Integer, ByVal lpBits As String, lpBI As BITMAPINFO, ByVal wUsage As Integer) As Integer
  1196.  
  1197. Declare Function GetDIBits Lib "GDI" (ByVal aHDC As Integer, ByVal hBitmap As Integer, ByVal nStartScan As Integer, ByVal nNumScans As Integer, ByVal lpBits As String, lpBI As BITMAPINFO, ByVal wUsage As Integer) As Integer
  1198.  
  1199. Declare Function SetDIBitsToDevice% Lib "GDI" (ByVal hDC#, ByVal X#, ByVal Y#, ByVal dX#, ByVal dY#, ByVal SrcX#, ByVal SrcY#, ByVal Scan#, ByVal NumScans#, ByVal Bits As String, BitsInfo As BITMAPINFO, ByVal wUsage#) 
  1200.  
  1201. Declare Function CreateDIBitmap Lib "GDI" (ByVal hDC As Integer, lpInfoHeader As BITMAPINFOHEADER, ByVal dwUsage As Long, ByVal lpInitBits As String, lpInitInfo As BITMAPINFO, ByVal wUsage As Integer) As Integer
  1202.  
  1203. Declare Function CreateDIBPatternBrush Lib "GDI" (ByVal hPackedDIB As Integer, ByVal wUsage As Integer) As Integer
  1204.  
  1205. Declare Function StretchDIBits# Lib "GDI" (ByVal hDC#, ByVal X#, ByVal Y#, ByVal dX#, ByVal dY#, ByVal SrcX#, ByVal SrcY#, ByVal wSrcWidth#, ByVal wSrcHeight#, ByVal lpBits As String, lpBitsInfo As BITMAPINFO, ByVal wUsage#, ByVal dwRop&)
  1206.  
  1207.  
  1208. Declare Function CreatePalette Lib "GDI" (lpLogPalette As LOGPALETTE) As Integer
  1209. Declare Function SelectPalette Lib "User" (ByVal hDC As Integer, ByVal hPalette as Integer, ByVal bForceBackground as Integer) As Integer
  1210. Declare Function RealizePalette Lib "User" (ByVal hDC As Integer) As Integer
  1211. Declare Function UpdateColors Lib "GDI" (ByVal hDC As Integer) As Integer
  1212. Declare Sub AnimatePalette Lib "GDI" (ByVal hPalette As Integer, ByVal wStartIndex As Integer, ByVal wNumEntries As Integer, lpPaletteColors As PALETTEENTRY)
  1213. Declare Function SetPaletteEntries Lib "GDI" (ByVal hPalette As Integer, ByVal wStartIndex As Integer, ByVal wNumEntries As Integer, lpPaletteEntries As PALETTEENTRY) As Integer
  1214. Declare Function GetPaletteEntries Lib "GDI" (ByVal hPalette As Integer, ByVal wStartIndex As Integer, ByVal wNumEntries As Integer, lpPaletteEntries As PALETTEENTRY) As Integer
  1215. Declare Function GetNearestPaletteIndex Lib "GDI" (ByVal hPalette As Integer, ByVal crColor As Long) As Integer
  1216. Declare Function ResizePalette Lib "GDI" (ByVal hPalette As Integer, ByVal nNumEntries As Integer) As Integer
  1217.  
  1218. Declare Function GetSystemPaletteEntries Lib "GDI" (ByVal hDC As Integer, ByVal wStartIndex As Integer, ByVal wNumEntries As Integer, lpPaletteEntries As PALETTEENTRY) As Integer
  1219. Declare Function GetSystemPaletteUse Lib "GDI" (ByVal hDC As Integer) As Integer
  1220. Declare Function SetSystemPaletteUse Lib "GDI" (ByVal hDC As Integer, ByVal wUsage As Integer) As Integer
  1221.  
  1222.  
  1223. ' --------------
  1224. '  USER Section
  1225. ' --------------
  1226.  
  1227. Declare Function wvsprintf Lib "User" (ByVal lpOutput As String, ByVal lpFormat As String, lpArglist As Integer) As Integer
  1228.  
  1229. ' Scroll Bar Constants
  1230. Global Const SB_HORZ = 0
  1231. Global Const SB_VERT = 1
  1232. Global Const SB_CTL = 2
  1233. Global Const SB_BOTH = 3
  1234.  
  1235. ' Scroll Bar Commands
  1236. Global Const SB_LINEUP = 0
  1237. Global Const SB_LINEDOWN = 1
  1238. Global Const SB_PAGEUP = 2
  1239. Global Const SB_PAGEDOWN = 3
  1240. Global Const SB_THUMBPOSITION = 4
  1241. Global Const SB_THUMBTRACK = 5
  1242. Global Const SB_TOP = 6
  1243. Global Const SB_BOTTOM = 7
  1244. Global Const SB_ENDSCROLL = 8
  1245.  
  1246. ' ShowWindow() Commands
  1247. Global Const SW_HIDE = 0
  1248. Global Const SW_SHOWNORMAL = 1
  1249. Global Const SW_NORMAL = 1
  1250. Global Const SW_SHOWMINIMIZED = 2
  1251. Global Const SW_SHOWMAXIMIZED = 3
  1252. Global Const SW_MAXIMIZE = 3
  1253. Global Const SW_SHOWNOACTIVATE = 4
  1254. Global Const SW_SHOW = 5
  1255. Global Const SW_MINIMIZE = 6
  1256. Global Const SW_SHOWMINNOACTIVE = 7
  1257. Global Const SW_SHOWNA = 8
  1258. Global Const SW_RESTORE = 9
  1259.  
  1260. ' Old ShowWindow() Commands
  1261. Global Const HIDE_WINDOW = 0
  1262. Global Const SHOW_OPENWINDOW = 1
  1263. Global Const SHOW_ICONWINDOW = 2
  1264. Global Const SHOW_FULLSCREEN = 3
  1265. Global Const SHOW_OPENNOACTIVATE = 4
  1266.  
  1267. ' Identifiers for the WM_SHOWWINDOW message
  1268. Global Const SW_PARENTCLOSING = 1
  1269. Global Const SW_OTHERZOOM = 2
  1270. Global Const SW_PARENTOPENING = 3
  1271. Global Const SW_OTHERUNZOOM = 4
  1272.  
  1273. ' Region Flags
  1274. Global Const ERRORAPI = 0
  1275. Global Const NULLREGION = 1
  1276. Global Const SIMPLEREGION = 2
  1277. Global Const COMPLEXREGION = 3
  1278.  
  1279. ' CombineRgn() Styles
  1280. Global Const RGN_AND = 1
  1281. Global Const RGN_OR = 2
  1282. Global Const RGN_XOR = 3
  1283. Global Const RGN_DIFF = 4
  1284. Global Const RGN_COPY = 5
  1285.  
  1286. ' Virtual Keys, Standard Set
  1287. Global Const VK_LBUTTON = &H1
  1288. Global Const VK_RBUTTON = &H2
  1289. Global Const VK_CANCEL = &H3
  1290. Global Const VK_MBUTTON = &H4    '  NOT contiguous with L & RBUTTON
  1291. Global Const VK_BACK = &H8
  1292. Global Const VK_TAB = &H9
  1293. Global Const VK_CLEAR = &HC
  1294. Global Const VK_RETURN = &HD
  1295. Global Const VK_SHIFT = &H10
  1296. Global Const VK_CONTROL = &H11
  1297. Global Const VK_MENU = &H12
  1298. Global Const VK_PAUSE = &H13
  1299. Global Const VK_CAPITAL = &H14
  1300. Global Const VK_ESCAPE = &H1B
  1301. Global Const VK_SPACE = &H20
  1302. Global Const VK_PRIOR = &H21
  1303. Global Const VK_NEXT = &H22
  1304. Global Const VK_END = &H23
  1305. Global Const VK_HOME = &H24
  1306. Global Const VK_LEFT = &H25
  1307. Global Const VK_UP = &H26
  1308. Global Const VK_RIGHT = &H27
  1309. Global Const VK_DOWN = &H28
  1310. Global Const VK_SELECT = &H29
  1311. Global Const VK_PRINT = &H2A
  1312. Global Const VK_EXECUTE = &H2B
  1313. Global Const VK_SNAPSHOT = &H2C
  1314. 'Global Const VK_COPY = &H2C     not used by keyboards.
  1315. Global Const VK_INSERT = &H2D
  1316. Global Const VK_DELETE = &H2E
  1317. Global Const VK_HELP = &H2F
  1318.  
  1319. ' VK_A thru VK_Z are the same as their ASCII equivalents: 'A' thru 'Z'
  1320. ' VK_0 thru VK_9 are the same as their ASCII equivalents: '0' thru '0'
  1321.  
  1322. Global Const VK_NUMPAD0 = &H60
  1323. Global Const VK_NUMPAD1 = &H61
  1324. Global Const VK_NUMPAD2 = &H62
  1325. Global Const VK_NUMPAD3 = &H63
  1326. Global Const VK_NUMPAD4 = &H64
  1327. Global Const VK_NUMPAD5 = &H65
  1328. Global Const VK_NUMPAD6 = &H66
  1329. Global Const VK_NUMPAD7 = &H67
  1330. Global Const VK_NUMPAD8 = &H68
  1331. Global Const VK_NUMPAD9 = &H69
  1332. Global Const VK_MULTIPLY = &H6A
  1333. Global Const VK_ADD = &H6B
  1334. Global Const VK_SEPARATOR = &H6C
  1335. Global Const VK_SUBTRACT = &H6D
  1336. Global Const VK_DECIMAL = &H6E
  1337. Global Const VK_DIVIDE = &H6F
  1338. Global Const VK_F1 = &H70
  1339. Global Const VK_F2 = &H71
  1340. Global Const VK_F3 = &H72
  1341. Global Const VK_F4 = &H73
  1342. Global Const VK_F5 = &H74
  1343. Global Const VK_F6 = &H75
  1344. Global Const VK_F7 = &H76
  1345. Global Const VK_F8 = &H77
  1346. Global Const VK_F9 = &H78
  1347. Global Const VK_F10 = &H79
  1348. Global Const VK_F11 = &H7A
  1349. Global Const VK_F12 = &H7B
  1350. Global Const VK_F13 = &H7C
  1351. Global Const VK_F14 = &H7D
  1352. Global Const VK_F15 = &H7E
  1353. Global Const VK_F16 = &H7F
  1354.  
  1355. Global Const VK_NUMLOCK = &H90
  1356.  
  1357. ' SetWindowsHook() codes
  1358. Global Const WH_MSGFILTER = (-1)
  1359. Global Const WH_JOURNALRECORD = 0
  1360. Global Const WH_JOURNALPLAYBACK = 1
  1361. Global Const WH_KEYBOARD = 2
  1362. Global Const WH_GETMESSAGE = 3
  1363. Global Const WH_CALLWNDPROC = 4
  1364. Global Const WH_CBT = 5
  1365. Global Const WH_SYSMSGFILTER = 6
  1366. Global Const WH_WINDOWMGR = 7
  1367.  
  1368. ' Hook Codes
  1369. Global Const HC_LPLPFNNEXT = (-2)
  1370. Global Const HC_LPFNNEXT = (-1)
  1371. Global Const HC_ACTION = 0
  1372. Global Const HC_GETNEXT = 1
  1373. Global Const HC_SKIP = 2
  1374. Global Const HC_NOREM = 3
  1375. Global Const HC_NOREMOVE = 3
  1376. Global Const HC_SYSMODALON = 4
  1377. Global Const HC_SYSMODALOFF = 5
  1378.  
  1379. ' CBT Hook Codes
  1380. Global Const HCBT_MOVESIZE = 0
  1381. Global Const HCBT_MINMAX = 1
  1382. Global Const HCBT_QS = 2
  1383.  
  1384. ' WH_MSGFILTER Filter Proc Codes
  1385. Global Const MSGF_DIALOGBOX = 0
  1386. Global Const MSGF_MESSAGEBOX = 1
  1387. Global Const MSGF_MENU = 2
  1388. Global Const MSGF_MOVE = 3
  1389. Global Const MSGF_SIZE = 4
  1390. Global Const MSGF_SCROLLBAR = 5
  1391. Global Const MSGF_NEXTWINDOW = 6
  1392.  
  1393. ' Window Manager Hook Codes
  1394. Global Const WC_INIT = 1
  1395. Global Const WC_SWP = 2
  1396. Global Const WC_DEFWINDOWPROC = 3
  1397. Global Const WC_MINMAX = 4
  1398. Global Const WC_MOVE = 5
  1399. Global Const WC_SIZE = 6
  1400. Global Const WC_DRAWCAPTION = 7
  1401.  
  1402. ' Message Structure used in Journaling
  1403. Type EVENTMSG
  1404.     message As Integer
  1405.     paramL As Integer
  1406.     paramH As Integer
  1407.     time As Long
  1408. End Type
  1409.  
  1410. ' Message structure
  1411. Type MSG
  1412.     hwnd As Integer
  1413.     message As Integer
  1414.     wParam As Integer
  1415.     lParam As Long
  1416.     time As Long
  1417.     pt As POINTAPI
  1418. End Type
  1419.  
  1420.  
  1421. ' Window field offsets for GetWindowLong() and GetWindowWord()
  1422. Global Const GWL_WNDPROC = (-4)
  1423. Global Const GWW_HINSTANCE = (-6)
  1424. Global Const GWW_HWNDPARENT = (-8)
  1425. Global Const GWW_ID = (-12)
  1426. Global Const GWL_STYLE = (-16)
  1427. Global Const GWL_EXSTYLE = (-20)
  1428.  
  1429. ' Class field offsets for GetClassLong() and GetClassWord()
  1430. Global Const GCL_MENUNAME = (-8)
  1431. Global Const GCW_HBRBACKGROUND = (-10)
  1432. Global Const GCW_HCURSOR = (-12)
  1433. Global Const GCW_HICON = (-14)
  1434. Global Const GCW_HMODULE = (-16)
  1435. Global Const GCW_CBWNDEXTRA = (-18)
  1436. Global Const GCW_CBCLSEXTRA = (-20)
  1437. Global Const GCL_WNDPROC = (-24)
  1438. Global Const GCW_STYLE = (-26)
  1439.  
  1440. ' Window Messages
  1441. Global Const WM_NULL = &H0
  1442. Global Const WM_CREATE = &H1
  1443. Global Const WM_DESTROY = &H2
  1444. Global Const WM_MOVE = &H3
  1445. Global Const WM_SIZE = &H5
  1446. Global Const WM_ACTIVATE = &H6
  1447. Global Const WM_SETFOCUS = &H7
  1448. Global Const WM_KILLFOCUS = &H8
  1449. Global Const WM_ENABLE = &HA
  1450. Global Const WM_SETREDRAW = &HB
  1451. Global Const WM_SETTEXT = &HC
  1452. Global Const WM_GETTEXT = &HD
  1453. Global Const WM_GETTEXTLENGTH = &HE
  1454. Global Const WM_PAINT = &HF
  1455. Global Const WM_CLOSE = &H10
  1456. Global Const WM_QUERYENDSESSION = &H11
  1457. Global Const WM_QUIT = &H12
  1458. Global Const WM_QUERYOPEN = &H13
  1459. Global Const WM_ERASEBKGND = &H14
  1460. Global Const WM_SYSCOLORCHANGE = &H15
  1461. Global Const WM_ENDSESSION = &H16
  1462. Global Const WM_SHOWWINDOW = &H18
  1463. Global Const WM_CTLCOLOR = &H19
  1464. Global Const WM_WININICHANGE = &H1A
  1465. Global Const WM_DEVMODECHANGE = &H1B
  1466. Global Const WM_ACTIVATEAPP = &H1C
  1467. Global Const WM_FONTCHANGE = &H1D
  1468. Global Const WM_TIMECHANGE = &H1E
  1469. Global Const WM_CANCELMODE = &H1F
  1470. Global Const WM_SETCURSOR = &H20
  1471. Global Const WM_MOUSEACTIVATE = &H21
  1472. Global Const WM_CHILDACTIVATE = &H22
  1473. Global Const WM_QUEUESYNC = &H23
  1474. Global Const WM_GETMINMAXINFO = &H24
  1475. Global Const WM_PAINTICON = &H26
  1476. Global Const WM_ICONERASEBKGND = &H27
  1477. Global Const WM_NEXTDLGCTL = &H28
  1478. Global Const WM_SPOOLERSTATUS = &H2A
  1479. Global Const WM_DRAWITEM = &H2B
  1480. Global Const WM_MEASUREITEM = &H2C
  1481. Global Const WM_DELETEITEM = &H2D
  1482. Global Const WM_VKEYTOITEM = &H2E
  1483. Global Const WM_CHARTOITEM = &H2F
  1484. Global Const WM_SETFONT = &H30
  1485. Global Const WM_GETFONT = &H31
  1486.  
  1487. Global Const WM_QUERYDRAGICON = &H37
  1488.  
  1489. Global Const WM_COMPAREITEM = &H39
  1490. Global Const WM_COMPACTING = &H41
  1491.  
  1492. Global Const WM_NCCREATE = &H81
  1493. Global Const WM_NCDESTROY = &H82
  1494. Global Const WM_NCCALCSIZE = &H83
  1495. Global Const WM_NCHITTEST = &H84
  1496. Global Const WM_NCPAINT = &H85
  1497. Global Const WM_NCACTIVATE = &H86
  1498. Global Const WM_GETDLGCODE = &H87
  1499. Global Const WM_NCMOUSEMOVE = &HA0
  1500. Global Const WM_NCLBUTTONDOWN = &HA1
  1501. Global Const WM_NCLBUTTONUP = &HA2
  1502. Global Const WM_NCLBUTTONDBLCLK = &HA3
  1503. Global Const WM_NCRBUTTONDOWN = &HA4
  1504. Global Const WM_NCRBUTTONUP = &HA5
  1505. Global Const WM_NCRBUTTONDBLCLK = &HA6
  1506. Global Const WM_NCMBUTTONDOWN = &HA7
  1507. Global Const WM_NCMBUTTONUP = &HA8
  1508. Global Const WM_NCMBUTTONDBLCLK = &HA9
  1509.  
  1510. Global Const WM_KEYFIRST = &H100
  1511. Global Const WM_KEYDOWN = &H100
  1512. Global Const WM_KEYUP = &H101
  1513. Global Const WM_CHAR = &H102
  1514. Global Const WM_DEADCHAR = &H103
  1515. Global Const WM_SYSKEYDOWN = &H104
  1516. Global Const WM_SYSKEYUP = &H105
  1517. Global Const WM_SYSCHAR = &H106
  1518. Global Const WM_SYSDEADCHAR = &H107
  1519. Global Const WM_KEYLAST = &H108
  1520.  
  1521. Global Const WM_INITDIALOG = &H110
  1522. Global Const WM_COMMAND = &H111
  1523. Global Const WM_SYSCOMMAND = &H112
  1524. Global Const WM_TIMER = &H113
  1525. Global Const WM_HSCROLL = &H114
  1526. Global Const WM_VSCROLL = &H115
  1527. Global Const WM_INITMENU = &H116
  1528. Global Const WM_INITMENUPOPUP = &H117
  1529. Global Const WM_MENUSELECT = &H11F
  1530. Global Const WM_MENUCHAR = &H120
  1531. Global Const WM_ENTERIDLE = &H121
  1532.  
  1533. Global Const WM_MOUSEFIRST = &H200
  1534. Global Const WM_MOUSEMOVE = &H200
  1535. Global Const WM_LBUTTONDOWN = &H201
  1536. Global Const WM_LBUTTONUP = &H202
  1537. Global Const WM_LBUTTONDBLCLK = &H203
  1538. Global Const WM_RBUTTONDOWN = &H204
  1539. Global Const WM_RBUTTONUP = &H205
  1540. Global Const WM_RBUTTONDBLCLK = &H206
  1541. Global Const WM_MBUTTONDOWN = &H207
  1542. Global Const WM_MBUTTONUP = &H208
  1543. Global Const WM_MBUTTONDBLCLK = &H209
  1544. Global Const WM_MOUSELAST = &H209
  1545.  
  1546. Global Const WM_PARENTNOTIFY = &H210
  1547. Global Const WM_MDICREATE = &H220
  1548. Global Const WM_MDIDESTROY = &H221
  1549. Global Const WM_MDIACTIVATE = &H222
  1550. Global Const WM_MDIRESTORE = &H223
  1551. Global Const WM_MDINEXT = &H224
  1552. Global Const WM_MDIMAXIMIZE = &H225
  1553. Global Const WM_MDITILE = &H226
  1554. Global Const WM_MDICASCADE = &H227
  1555. Global Const WM_MDIICONARRANGE = &H228
  1556. Global Const WM_MDIGETACTIVE = &H229
  1557. Global Const WM_MDISETMENU = &H230
  1558.  
  1559. Global Const WM_CUT = &H300
  1560. Global Const WM_COPY = &H301
  1561. Global Const WM_PASTE = &H302
  1562. Global Const WM_CLEAR = &H303
  1563. Global Const WM_UNDO = &H304
  1564. Global Const WM_RENDERFORMAT = &H305
  1565. Global Const WM_RENDERALLFORMATS = &H306
  1566. Global Const WM_DESTROYCLIPBOARD = &H307
  1567. Global Const WM_DRAWCLIPBOARD = &H308
  1568. Global Const WM_PAINTCLIPBOARD = &H309
  1569. Global Const WM_VSCROLLCLIPBOARD = &H30A
  1570. Global Const WM_SIZECLIPBOARD = &H30B
  1571. Global Const WM_ASKCBFORMATNAME = &H30C
  1572. Global Const WM_CHANGECBCHAIN = &H30D
  1573. Global Const WM_HSCROLLCLIPBOARD = &H30E
  1574. Global Const WM_QUERYNEWPALETTE = &H30F
  1575. Global Const WM_PALETTEISCHANGING = &H310
  1576. Global Const WM_PALETTECHANGED = &H311
  1577.  
  1578. ' NOTE: All Message Numbers below 0x0400 are RESERVED.
  1579.  
  1580. ' Private Window Messages Start Here:
  1581. Global Const WM_USER = &H400
  1582.  
  1583. ' WM_SYNCTASK Commands
  1584. Global Const ST_BEGINSWP = 0
  1585. Global Const ST_ENDSWP = 1
  1586.  
  1587. ' WinWhere() Area Codes
  1588. Global Const HTERROR = (-2)
  1589. Global Const HTTRANSPARENT = (-1)
  1590. Global Const HTNOWHERE = 0
  1591. Global Const HTCLIENT = 1
  1592. Global Const HTCAPTION = 2
  1593. Global Const HTSYSMENU = 3
  1594. Global Const HTGROWBOX = 4
  1595. Global Const HTSIZE = HTGROWBOX
  1596. Global Const HTMENU = 5
  1597. Global Const HTHSCROLL = 6
  1598. Global Const HTVSCROLL = 7
  1599. Global Const HTREDUCE = 8
  1600. Global Const HTZOOM = 9
  1601. Global Const HTLEFT = 10
  1602. Global Const HTRIGHT = 11
  1603. Global Const HTTOP = 12
  1604. Global Const HTTOPLEFT = 13
  1605. Global Const HTTOPRIGHT = 14
  1606. Global Const HTBOTTOM = 15
  1607. Global Const HTBOTTOMLEFT = 16
  1608. Global Const HTBOTTOMRIGHT = 17
  1609. Global Const HTSIZEFIRST = HTLEFT
  1610. Global Const HTSIZELAST = HTBOTTOMRIGHT
  1611.  
  1612. ' WM_MOUSEACTIVATE Return Codes
  1613. Global Const MA_ACTIVATE = 1
  1614. Global Const MA_ACTIVATEANDEAT = 2
  1615. Global Const MA_NOACTIVATE = 3
  1616.  
  1617. Declare Function RegisterWindowMessage Lib "User" (ByVal lpString As String) As Integer
  1618.  
  1619. ' Size Message Commands
  1620. Global Const SIZENORMAL = 0
  1621. Global Const SIZEICONIC = 1
  1622. Global Const SIZEFULLSCREEN = 2
  1623. Global Const SIZEZOOMSHOW = 3
  1624. Global Const SIZEZOOMHIDE = 4
  1625.  
  1626. ' Key State Masks for Mouse Messages
  1627. Global Const MK_LBUTTON = &H1
  1628. Global Const MK_RBUTTON = &H2
  1629. Global Const MK_SHIFT = &H4
  1630. Global Const MK_CONTROL = &H8
  1631. Global Const MK_MBUTTON = &H10
  1632.  
  1633. ' Window Styles
  1634. Global Const WS_OVERLAPPED = &H00000&
  1635. Global Const WS_POPUP = &H80000000&
  1636. Global Const WS_CHILD = &H40000000&
  1637. Global Const WS_MINIMIZE = &H20000000&
  1638. Global Const WS_VISIBLE = &H10000000&
  1639. Global Const WS_DISABLED = &H8000000&
  1640. Global Const WS_CLIPSIBLINGS = &H4000000&
  1641. Global Const WS_CLIPCHILDREN = &H2000000&
  1642. Global Const WS_MAXIMIZE = &H1000000&
  1643. Global Const WS_CAPTION = &HC00000&    '  WS_BORDER Or WS_DLGFRAME
  1644. Global Const WS_BORDER = &H800000&
  1645. Global Const WS_DLGFRAME = &H400000&
  1646. Global Const WS_VSCROLL = &H200000&
  1647. Global Const WS_HSCROLL = &H100000&
  1648. Global Const WS_SYSMENU = &H80000&
  1649. Global Const WS_THICKFRAME = &H40000&
  1650. Global Const WS_GROUP = &H20000&
  1651. Global Const WS_TABSTOP = &H10000&
  1652.  
  1653. Global Const WS_MINIMIZEBOX = &H20000&
  1654. Global Const WS_MAXIMIZEBOX = &H10000&
  1655.  
  1656. Global Const WS_TILED = WS_OVERLAPPED
  1657. Global Const WS_ICONIC = WS_MINIMIZE
  1658. Global Const WS_SIZEBOX = WS_THICKFRAME
  1659.  
  1660. ' Common Window Styles
  1661. Global Const WS_OVERLAPPEDWINDOW = (WS_OVERLAPPED Or WS_CAPTION Or WS_SYSMENU Or WS_THICKFRAME Or WS_MINIMIZEBOX Or WS_MAXIMIZEBOX)
  1662. Global Const WS_POPUPWINDOW = (WS_POPUP Or WS_BORDER Or WS_SYSMENU)
  1663. Global Const WS_CHILDWINDOW = (WS_CHILD)
  1664. Global Const WS_TILEDWINDOW = (WS_OVERLAPPEDWINDOW)
  1665.  
  1666. ' Extended Window Styles
  1667. Global Const WS_EX_DLGMODALFRAME = &H00001&
  1668. Global Const WS_EX_NOPARENTNOTIFY = &H00004&
  1669.  
  1670. ' Class styles
  1671. Global Const CS_VREDRAW = &H1
  1672. Global Const CS_HREDRAW = &H2
  1673. Global Const CS_KEYCVTWINDOW = &H4
  1674. Global Const CS_DBLCLKS = &H8
  1675. Global Const CS_OWNDC = &H20
  1676. Global Const CS_CLASSDC = &H40
  1677. Global Const CS_PARENTDC = &H80
  1678. Global Const CS_NOKEYCVT = &H100
  1679. Global Const CS_NOCLOSE = &H200
  1680. Global Const CS_SAVEBITS = &H800
  1681. Global Const CS_BYTEALIGNCLIENT = &H1000
  1682. Global Const CS_BYTEALIGNWINDOW = &H2000
  1683. Global Const CS_GLOBALCLASS = &H4000    '  Global window class
  1684.  
  1685. ' Predefined Clipboard Formats
  1686. Global Const CF_TEXT = 1
  1687. Global Const CF_BITMAP = 2
  1688. Global Const CF_METAFILEPICT = 3
  1689. Global Const CF_SYLK = 4
  1690. Global Const CF_DIF = 5
  1691. Global Const CF_TIFF = 6
  1692. Global Const CF_OEMTEXT = 7
  1693. Global Const CF_DIB = 8
  1694. Global Const CF_PALETTE = 9
  1695.  
  1696. Global Const CF_OWNERDISPLAY = &H80
  1697. Global Const CF_DSPTEXT = &H81
  1698. Global Const CF_DSPBITMAP = &H82
  1699. Global Const CF_DSPMETAFILEPICT = &H83
  1700.  
  1701. ' "Private" formats don't get GlobalFree()'d
  1702. Global Const CF_PRIVATEFIRST = &H200
  1703. Global Const CF_PRIVATELAST = &H2FF
  1704.  
  1705. ' "GDIOBJ" formats do get DeleteObject()'d
  1706. Global Const CF_GDIOBJFIRST = &H300
  1707. Global Const CF_GDIOBJLAST = &H3FF
  1708.  
  1709. Type PAINTSTRUCT
  1710.     hdc As Integer
  1711.     fErase As Integer
  1712.     rcPaint As RECT
  1713.     fRestore As Integer
  1714.     fIncUpdate As Integer
  1715.     rgbReserved As String * 16
  1716. End Type
  1717.  
  1718. Type CREATESTRUCT
  1719.     lpCreateParams As Long
  1720.     hInstance As Integer
  1721.     hMenu As Integer
  1722.     hwndParent As Integer
  1723.     cy As Integer
  1724.     cx As Integer
  1725.     y As Integer
  1726.     x As Integer
  1727.     style As Long
  1728.     lpszName As Long
  1729.     lpszClass As Long
  1730.     ExStyle As Long
  1731. End Type
  1732.  
  1733. ' Owner draw control types
  1734. Global Const ODT_MENU = 1
  1735. Global Const ODT_LISTBOX = 2
  1736. Global Const ODT_COMBOBOX = 3
  1737. Global Const ODT_BUTTON = 4
  1738.  
  1739. ' Owner draw actions
  1740. Global Const ODA_DRAWENTIRE = &H1
  1741. Global Const ODA_SELECT = &H2
  1742. Global Const ODA_FOCUS = &H4
  1743.  
  1744. ' Owner draw state
  1745. Global Const ODS_SELECTED = &H1
  1746. Global Const ODS_GRAYED = &H2
  1747. Global Const ODS_DISABLED = &H4
  1748. Global Const ODS_CHECKED = &H8
  1749. Global Const ODS_FOCUS = &H10
  1750.  
  1751. ' MEASUREITEMSTRUCT for ownerdraw
  1752. Type MEASUREITEMSTRUCT
  1753.     CtlType As Integer
  1754.     CtlID As Integer
  1755.     itemID As Integer
  1756.     itemWidth As Integer
  1757.     itemHeight As Integer
  1758.     itemData As Long
  1759. End Type
  1760.  
  1761. ' DRAWITEMSTRUCT for ownerdraw
  1762. Type DRAWITEMSTRUCT
  1763.     CtlType As Integer
  1764.     CtlID As Integer
  1765.     itemID As Integer
  1766.     itemAction As Integer
  1767.     itemState As Integer
  1768.     hwndItem As Integer
  1769.     hDC As Integer
  1770.     rcItem As RECT
  1771.     itemData As Long
  1772. End Type
  1773.  
  1774. ' DELETEITEMSTRUCT for ownerdraw
  1775. Type DELETEITEMSTRUCT
  1776.     CtlType As Integer
  1777.     CtlID As Integer
  1778.     itemID As Integer
  1779.     hwndItem As Integer
  1780.     itemData As Long
  1781. End Type
  1782.  
  1783. ' COMPAREITEMSTRUCT for ownerdraw sorting
  1784. Type COMPAREITEMSTRUCT
  1785.     CtlType As Integer
  1786.     CtlID As Integer
  1787.     hwndItem As Integer
  1788.     itemID1 As Integer
  1789.     itemData1 As Long
  1790.     itemID2 As Integer
  1791.     itemData2 As Long
  1792. End Type
  1793.  
  1794. ' Message Function Templates
  1795. Declare Function GetMessage Lib "User" (lpMsg As MSG, ByVal hWnd As Integer, ByVal wMsgFilterMin As Integer, ByVal wMsgFilterMax As Integer) As Integer
  1796. Declare Function TranslateMessage Lib "User" (lpMsg As MSG) As Integer
  1797. Declare Function DispatchMessage Lib "User" (lpMsg As MSG) As Long
  1798. Declare Function PeekMessage Lib "User" (lpMsg As MSG, ByVal hWnd As Integer, ByVal wMsgFilterMin As Integer, ByVal wMsgFilterMax As Integer, ByVal wRemoveMsg As Integer) As Integer
  1799.  
  1800. ' PeekMessage() Options
  1801. Global Const PM_NOREMOVE = &H0
  1802. Global Const PM_REMOVE = &H1
  1803. Global Const PM_NOYIELD = &H2
  1804.  
  1805. Declare Function lstrcmp Lib "User" (ByVal lpString1 As Any, ByVal lpString2 As Any) As Integer
  1806. Declare Function lstrcmpi Lib "User" (ByVal lpString1 As Any, ByVal lpString2 As Any) As Integer
  1807. Declare Function lstrcpy Lib "Kernel" (ByVal lpString1 As Any, ByVal lpString2 As Any) As Long
  1808. Declare Function lstrcat Lib "Kernel" (ByVal lpString1 As Any, ByVal lpString2 As Any) As Long
  1809. Declare Function lstrlen Lib "Kernel" (ByVal lpString As Any) As Integer
  1810.  
  1811. Declare Function lopen Lib "Kernel" Alias "_lopen" (ByVal lpPathName As String, ByVal iReadWrite As Integer) As Integer
  1812. Declare Function lclose Lib "Kernel" Alias "_lclose" (ByVal hFile As Integer) As Integer
  1813. Declare Function lcreat Lib "Kernel" Alias "_lcreat" (ByVal lpPathName As String, ByVal iAttribute As Integer) As Integer
  1814. Declare Function llseek Lib "Kernel" Alias "_llseek" (ByVal hFile As Integer, ByVal lOffset As Long, ByVal iOrigin As Integer) As Long
  1815. Declare Function lread Lib "Kernel" Alias "_lread" (ByVal hFile As Integer, ByVal lpBuffer As String, ByVal wBytes As Integer) As Integer
  1816. Declare Function lwrite Lib "Kernel" Alias "_lwrite" (ByVal hFile As Integer, ByVal lpBuffer As String, ByVal wBytes As Integer) As Integer
  1817.  
  1818. Global Const READAPI = 0    '  Flags for _lopen
  1819. Global Const WRITEAPI = 1
  1820. Global Const READ_WRITE = 2
  1821.  
  1822. Declare Function ExitWindows Lib "User" (ByVal dwReserved As Long, ByVal wReturnCode As Integer) As Integer
  1823.  
  1824. Declare Function SwapMouseButton Lib "User" (ByVal bSwap As Integer) As Integer
  1825. Declare Function GetMessagePos Lib "User" () As Long
  1826. Declare Function GetMessageTime Lib "User" () As Long
  1827.  
  1828. Declare Function GetSysModalWindow Lib "User" () As Integer
  1829. Declare Function SetSysModalWindow Lib "User" (ByVal hWnd As Integer) As Integer
  1830.  
  1831. Declare Function SendMessage Lib "User" (ByVal hWnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, lParam As Any) As Long
  1832. Declare Function PostMessage Lib "User" (ByVal hWnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, lParam As Any) As Integer
  1833. Declare Function PostAppMessage Lib "User" (ByVal hTask As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, lParam As Any) As Integer
  1834. Declare Sub ReplyMessage Lib "User" (ByVal lReply As Long)
  1835. Declare Sub WaitMessage Lib "User" ()
  1836. Declare Function DefWindowProc Lib "User" (ByVal hWnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, lParam As Any) As Long
  1837. Declare Sub PostQuitMessage Lib "User" (ByVal nExitCode As Integer)
  1838. Declare Function InSendMessage Lib "User" () As Integer
  1839.  
  1840. Declare Function GetDoubleClickTime Lib "User" () As Integer
  1841. Declare Sub SetDoubleClickTime Lib "User" (ByVal wCount As Integer)
  1842.  
  1843. Declare Function UnregisterClass Lib "User" (ByVal lpClassName As String, ByVal hInstance As Integer) As Integer
  1844.  
  1845. Declare Function SetMessageQueue Lib "User" (ByVal cMsg As Integer) As Integer
  1846.  
  1847. Global Const CW_USEDEFAULT = &H8000
  1848.  
  1849. Declare Function CreateWindow% Lib "User" (ByVal lpClassName$, ByVal lpWindowName$, ByVal dwStyle&, ByVal X%, ByVal Y%, ByVal nWidth%, ByVal nHeight%, ByVal hWndParent%, ByVal hMenu%, ByVal hInstance%, ByVal lpParam$)
  1850. Declare Function CreateWindowEx% Lib "User" (ByVal dwExStyle&, ByVal lpClassName$, ByVal lpWindowName$, ByVal dwStyle&, ByVal X%, ByVal Y%, ByVal nWidth%, ByVal nHeight%, ByVal hWndParent%, ByVal hMenu%, ByVal hInstance%, ByVal lpParam$)
  1851. Declare Function IsWindow Lib "User" (ByVal hWnd As Integer) As Integer
  1852. Declare Function IsChild Lib "User" (ByVal hWndParent As Integer, ByVal hWnd As Integer) As Integer
  1853. Declare Function DestroyWindow Lib "User" (ByVal hWnd As Integer) As Integer
  1854.  
  1855. Declare Function ShowWindow Lib "User" (ByVal hWnd As Integer, ByVal nCmdShow As Integer) As Integer
  1856. Declare Function FlashWindow Lib "User" (ByVal hWnd As Integer, ByVal bInvert As Integer) As Integer
  1857. Declare Sub ShowOwnedPopups Lib "User" (ByVal hWnd As Integer, ByVal fShow As Integer)
  1858.  
  1859. Declare Function OpenIcon Lib "User" (ByVal hWnd As Integer) As Integer
  1860. Declare Sub CloseWindow Lib "User" (ByVal hWnd As Integer)
  1861. Declare Sub MoveWindow Lib "User" (ByVal hWnd As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal bRepaint As Integer)
  1862. Declare Sub SetWindowPos Lib "User" (ByVal hWnd As Integer, ByVal hWndInsertAfter As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal wFlags As Integer)
  1863.  
  1864. Declare Function BeginDeferWindowPos Lib "User" (ByVal nNumWindows As Integer)
  1865. Declare Function DeferWindowPos Lib "User" (ByVal hWinPosInfo As Integer, ByVal hWnd as Integer, ByVal hWndInsertAfter as Integer, ByVal x, ByVal y, ByVal cx, ByVal cy, ByVal wFlags as Integer)
  1866. Declare Sub EndDeferWindowPos Lib "User" (ByVal hWinPosInfo As Integer)
  1867.  
  1868. Declare Function IsWindowVisible Lib "User" (ByVal hWnd As Integer) As Integer
  1869. Declare Function IsIconic Lib "User" (ByVal hWnd As Integer) As Integer
  1870. Declare Function AnyPopup Lib "User" () As Integer
  1871. Declare Sub BringWindowToTop Lib "User" (ByVal hWnd As Integer)
  1872. Declare Function IsZoomed Lib "User" (ByVal hWnd As Integer) As Integer
  1873.  
  1874. ' SetWindowPos Flags
  1875. Global Const SWP_NOSIZE = &H1
  1876. Global Const SWP_NOMOVE = &H2
  1877. Global Const SWP_NOZORDER = &H4
  1878. Global Const SWP_NOREDRAW = &H8
  1879. Global Const SWP_NOACTIVATE = &H10
  1880. Global Const SWP_DRAWFRAME = &H20
  1881. Global Const SWP_SHOWWINDOW = &H40
  1882. Global Const SWP_HIDEWINDOW = &H80
  1883. Global Const SWP_NOCOPYBITS = &H100
  1884. Global Const SWP_NOREPOSITION = &H200
  1885.  
  1886. Declare Sub EndDialog Lib "User" (ByVal hDlg As Integer, ByVal nResult As Integer)
  1887. Declare Function GetDlgItem Lib "User" (ByVal hDlg As Integer, ByVal nIDDlgItem As Integer) As Integer
  1888. Declare Sub SetDlgItemInt Lib "User" (ByVal hDlg As Integer, ByVal nIDDlgItem As Integer, ByVal wValue As Integer, ByVal bSigned As Integer)
  1889. Declare Function GetDlgItemInt Lib "User" (ByVal hDlg As Integer, ByVal nIDDlgItem As Integer, lpTranslated As Integer, ByVal bSigned As Integer) As Integer
  1890. Declare Sub SetDlgItemText Lib "User" (ByVal hDlg As Integer, ByVal nIDDlgItem As Integer, ByVal lpString As String)
  1891. Declare Function GetDlgItemText Lib "User" (ByVal hDlg As Integer, ByVal nIDDlgItem As Integer, ByVal lpString As String, ByVal nMaxCount As Integer) As Integer
  1892. Declare Sub CheckDlgButton Lib "User" (ByVal hDlg As Integer, ByVal nIDButton As Integer, ByVal wCheck As Integer)
  1893. Declare Sub CheckRadioButton Lib "User" (ByVal hDlg As Integer, ByVal nIDFirstButton As Integer, ByVal nIDLastButton As Integer, ByVal nIDCheckButton As Integer)
  1894. Declare Function IsDlgButtonChecked Lib "User" (ByVal hDlg As Integer, ByVal nIDButton As Integer) As Integer
  1895. Declare Function SendDlgItemMessage Lib "User" (ByVal hDlg As Integer, ByVal nIDDlgItem As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, lParam As Any) As Long
  1896. Declare Function GetNextDlgGroupItem Lib "User" (ByVal hDlg As Integer, ByVal hCtl As Integer, ByVal bPrevious As Integer) As Integer
  1897. Declare Function GetNextDlgTabItem Lib "User" (ByVal hDlg As Integer, ByVal hCtl As Integer, ByVal bPrevious As Integer) As Integer
  1898. Declare Function GetDlgCtrlID Lib "User" (ByVal hWnd As Integer) As Integer
  1899. Declare Function GetDialogBaseUnits Lib "User" () As Long
  1900. Declare Function DefDlgProc Lib "User" (ByVal hDlg As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, lParam As Any) As Long
  1901.  
  1902. Global Const DLGWINDOWEXTRA = 30    '  Window extra bytes needed for private dialog classes
  1903.  
  1904. Declare Function CallMsgFilter Lib "User" (lpMsg As MSG, ByVal nCode As Integer) As Integer
  1905.  
  1906. ' Clipboard Manager Functions
  1907. Declare Function OpenClipboard Lib "User" (ByVal hWnd As Integer) As Integer
  1908. Declare Function CloseClipboard Lib "User" () As Integer
  1909. Declare Function GetClipboardOwner Lib "User" () As Integer
  1910. Declare Function SetClipboardViewer Lib "User" (ByVal hWnd As Integer) As Integer
  1911. Declare Function GetClipboardViewer Lib "User" () As Integer
  1912. Declare Function ChangeClipboardChain Lib "User" (ByVal hWnd As Integer, ByVal hWndNext As Integer) As Integer
  1913. Declare Function SetClipboardData Lib "User" (ByVal wFormat As Integer, ByVal hMem As Integer) As Integer
  1914. Declare Function GetClipboardData Lib "User" (ByVal wFormat As Integer) As Integer
  1915. Declare Function RegisterClipboardFormat Lib "User" (ByVal lpString As String) As Integer
  1916. Declare Function CountClipboardFormats Lib "User" () As Integer
  1917. Declare Function EnumClipboardFormats Lib "User" (ByVal wFormat As Integer) As Integer
  1918. Declare Function GetClipboardFormatName Lib "User" (ByVal wFormat As Integer, ByVal lpString As String, ByVal nMaxCount As Integer) As Integer
  1919. Declare Function EmptyClipboard Lib "User" () As Integer
  1920. Declare Function IsClipboardFormatAvailable Lib "User" (ByVal wFormat As Integer) As Integer
  1921. Declare Function GetPriorityClipboardFormat Lib "User" (lpPriorityList As Integer, ByVal nCount As Integer) As Integer
  1922.  
  1923. Declare Function SetFocusAPI Lib "User" Alias "SetFocus" (ByVal hWnd As Integer) As Integer
  1924. Declare Function GetFocus Lib "User" () As Integer
  1925. Declare Function GetActiveWindow Lib "User" () As Integer
  1926. Declare Function GetKeyState Lib "User" (ByVal nVirtKey As Integer) As Integer
  1927. Declare Function GetAsyncKeyState Lib "User" (ByVal vKey As Integer) As Integer
  1928. Declare Sub GetKeyboardState Lib "User" (LpKeyState As Any)
  1929. Declare Sub SetKeyboardState Lib "User" (lpKeyState As Any)
  1930. Declare Function EnableHardwareInput Lib "User" (ByVal bEnableInput As Integer) As Integer
  1931. Declare Function GetInputState Lib "User" () As Integer
  1932. Declare Function GetCapture Lib "User" () As Integer
  1933. Declare Function SetCapture Lib "User" (ByVal hWnd As Integer) As Integer
  1934. Declare Sub ReleaseCapture Lib "User" ()
  1935.  
  1936. ' Windows Functions
  1937. Declare Function KillTimer Lib "User" (ByVal hWnd As Integer, ByVal nIDEvent As Integer) As Integer
  1938.  
  1939. Declare Function EnableWindow Lib "User" (ByVal hWnd As Integer, ByVal aBOOL As Integer) As Integer
  1940. Declare Function IsWindowEnabled Lib "User" (ByVal hWnd As Integer) As Integer
  1941.  
  1942. Declare Function LoadAccelerators Lib "User" (ByVal hInstance As Integer, ByVal lpTableName As String) As Integer
  1943.  
  1944. Declare Function TranslateAccelerator Lib "User" (ByVal hWnd As Integer, ByVal hAccTable As Integer, lpMsg As MSG) As Integer
  1945.  
  1946.  
  1947. ' GetSystemMetrics() codes
  1948. Global Const SM_CXSCREEN = 0
  1949. Global Const SM_CYSCREEN = 1
  1950. Global Const SM_CXVSCROLL = 2
  1951. Global Const SM_CYHSCROLL = 3
  1952. Global Const SM_CYCAPTION = 4
  1953. Global Const SM_CXBORDER = 5
  1954. Global Const SM_CYBORDER = 6
  1955. Global Const SM_CXDLGFRAME = 7
  1956. Global Const SM_CYDLGFRAME = 8
  1957. Global Const SM_CYVTHUMB = 9
  1958. Global Const SM_CXHTHUMB = 10
  1959. Global Const SM_CXICON = 11
  1960. Global Const SM_CYICON = 12
  1961. Global Const SM_CXCURSOR = 13
  1962. Global Const SM_CYCURSOR = 14
  1963. Global Const SM_CYMENU = 15
  1964. Global Const SM_CXFULLSCREEN = 16
  1965. Global Const SM_CYFULLSCREEN = 17
  1966. Global Const SM_CYKANJIWINDOW = 18
  1967. Global Const SM_MOUSEPRESENT = 19
  1968. Global Const SM_CYVSCROLL = 20
  1969. Global Const SM_CXHSCROLL = 21
  1970. Global Const SM_DEBUG = 22
  1971. Global Const SM_SWAPBUTTON = 23
  1972. Global Const SM_RESERVED1 = 24
  1973. Global Const SM_RESERVED2 = 25
  1974. Global Const SM_RESERVED3 = 26
  1975. Global Const SM_RESERVED4 = 27
  1976. Global Const SM_CXMIN = 28
  1977. Global Const SM_CYMIN = 29
  1978. Global Const SM_CXSIZE = 30
  1979. Global Const SM_CYSIZE = 31
  1980. Global Const SM_CXFRAME = 32
  1981. Global Const SM_CYFRAME = 33
  1982. Global Const SM_CXMINTRACK = 34
  1983. Global Const SM_CYMINTRACK = 35
  1984. Global Const SM_CMETRICS = 36
  1985.  
  1986. Declare Function GetSystemMetrics Lib "User" (ByVal nIndex As Integer) As Integer
  1987.  
  1988. Declare Function LoadMenu Lib "User" (ByVal hInstance As Integer, ByVal lpString As String) As Integer
  1989. Declare Function LoadMenuIndirect Lib "User" (lpMenuTemplate As Any) As Integer
  1990. Declare Function GetMenu Lib "User" (ByVal hWnd As Integer) As Integer
  1991. Declare Function SetMenu Lib "User" (ByVal hWnd As Integer, ByVal hMenu As Integer) As Integer
  1992. Declare Function ChangeMenu Lib "User" (ByVal hMenu As Integer, ByVal wID As Integer, ByVal lpszNew As String, ByVal wIDNew As Integer, ByVal wChange As Integer) As Integer
  1993. Declare Function HiliteMenuItem Lib "User" (ByVal hWnd As Integer, ByVal hMenu As Integer, ByVal wIDHiliteItem As Integer, ByVal wHilite As Integer) As Integer
  1994. Declare Function GetMenuString Lib "User" (ByVal hMenu As Integer, ByVal wIDItem As Integer, ByVal lpString As String, ByVal nMaxCount As Integer, ByVal wFlag As Integer) As Integer
  1995. Declare Function GetMenuState Lib "User" (ByVal hMenu As Integer, ByVal wId As Integer, ByVal wFlags As Integer) As Integer
  1996. Declare Sub DrawMenuBar Lib "User" (ByVal hWnd As Integer)
  1997. Declare Function GetSystemMenu Lib "User" (ByVal hWnd As Integer, ByVal bRevert As Integer) As Integer
  1998. Declare Function CreateMenu Lib "User" () As Integer
  1999. Declare Function CreatePopupMenu Lib "User" () As Integer
  2000. Declare Function DestroyMenu Lib "User" (ByVal hMenu As Integer) As Integer
  2001. Declare Function CheckMenuItem Lib "User" (ByVal hMenu As Integer, ByVal wIDCheckItem As Integer, ByVal wCheck As Integer) As Integer
  2002. Declare Function EnableMenuItem Lib "User" (ByVal hMenu As Integer, ByVal wIDEnableItem As Integer, ByVal wEnable As Integer) As Integer
  2003. Declare Function GetSubMenu Lib "User" (ByVal hMenu As Integer, ByVal nPos As Integer) As Integer
  2004. Declare Function GetMenuItemID Lib "User" (ByVal hMenu As Integer, ByVal nPos As Integer) As Integer
  2005. Declare Function GetMenuItemCount Lib "User" (ByVal hMenu As Integer) As Integer
  2006.  
  2007. Declare Function InsertMenu Lib "User" (ByVal hMenu As Integer, ByVal nPosition As Integer, ByVal wFlags As Integer, ByVal wIDNewItem As Integer, ByVal lpNewItem As Any) As Integer
  2008. Declare Function AppendMenu Lib "User" (ByVal hMenu As Integer, ByVal wFlags As Integer, ByVal wIDNewItem As Integer, ByVal lpNewItem As Any) As Integer
  2009. Declare Function ModifyMenu Lib "User" (ByVal hMenu As Integer, ByVal nPosition As Integer, ByVal wFlags As Integer, ByVal wIDNewItem As Integer, ByVal lpString As Any) As Integer
  2010. Declare Function RemoveMenu Lib "User" (ByVal hMenu As Integer, ByVal nPosition As Integer, ByVal wFlags As Integer) As Integer
  2011. Declare Function DeleteMenu Lib "User" (ByVal hMenu As Integer, ByVal nPosition As Integer, ByVal wFlags As Integer) As Integer
  2012. Declare Function SetMenuItemBitmaps Lib "User" (ByVal hMenu As Integer, ByVal nPosition As Integer, ByVal wFlags As Integer, ByVal hBitmapUnchecked As Integer, ByVal hBitmapChecked As Integer) As Integer
  2013. Declare Function GetMenuCheckMarkDimensions Lib "User" () As Long
  2014. Declare Function TrackPopupMenu Lib "User" (ByVal hMenu As Integer, ByVal wFlags As Integer, ByVal x As Integer, ByVal y As Integer, ByVal nReserved As Integer, ByVal hWnd As Integer, lpReserved As Any) As Integer
  2015.  
  2016. Declare Sub UpdateWindow Lib "User" (ByVal hWnd As Integer)
  2017. Declare Function SetActiveWindow Lib "User" (ByVal hWnd As Integer) As Integer
  2018.  
  2019. Declare Function BeginPaint Lib "User" (ByVal hWnd As Integer, lpPaint As PAINTSTRUCT) As Integer
  2020. Declare Sub EndPaint Lib "User" (ByVal hWnd As Integer, lpPaint As PAINTSTRUCT)
  2021. Declare Function GetUpdateRect Lib "User" (ByVal hWnd As Integer, lpRect As RECT, ByVal bErase As Integer) As Integer
  2022. Declare Function GetUpdateRgn Lib "User" (ByVal hWnd As Integer, ByVal hRgn As Integer, ByVal fErase As Integer) As Integer
  2023.  
  2024. Declare Function ExcludeUpdateRgn Lib "User" (ByVal hDC As Integer, ByVal hWnd As Integer) As Integer
  2025.  
  2026. Declare Sub InvalidateRect Lib "User" (ByVal hWnd As Integer, lpRect As RECT, ByVal bErase As Integer)
  2027. Declare Sub ValidateRect Lib "User" (ByVal hWnd As Integer, lpRect As RECT)
  2028.  
  2029. Declare Sub InvalidateRgn Lib "User" (ByVal hWnd As Integer, ByVal hRgn As Integer, ByVal bErase As Integer)
  2030. Declare Sub ValidateRgn Lib "User" (ByVal hWnd As Integer, ByVal hRgn As Integer)
  2031.  
  2032. Declare Sub ScrollWindow Lib "User" (ByVal hWnd As Integer, ByVal XAmount As Integer, ByVal YAmount As Integer, lpRect As RECT, lpClipRect As RECT)
  2033. Declare Function ScrollDC Lib "User" (ByVal hDC As Integer, ByVal dx As Integer, ByVal dy As Integer, lprcScroll As RECT, lprcClip As RECT, ByVal hRgnUpdate As Integer, lprcUpdate As RECT) As Integer
  2034.  
  2035. Declare Function SetScrollPos Lib "User" (ByVal hWnd As Integer, ByVal nBar As Integer, ByVal nPos As Integer, ByVal bRedraw As Integer) As Integer
  2036. Declare Function GetScrollPos Lib "User" (ByVal hWnd As Integer, ByVal nBar As Integer) As Integer
  2037. Declare Sub SetScrollRange Lib "User" (ByVal hWnd As Integer, ByVal nBar As Integer, ByVal nMinPos As Integer, ByVal nMaxPos As Integer, ByVal bRedraw As Integer)
  2038. Declare Sub GetScrollRange Lib "User" (ByVal hWnd As Integer, ByVal nBar As Integer, lpMinPos As Integer, lpMaxPos As Integer)
  2039. Declare Sub ShowScrollBar Lib "User" (ByVal hWnd As Integer, ByVal wBar As Integer, ByVal bShow As Integer)
  2040.  
  2041. Declare Function SetProp Lib "User" (ByVal hWnd As Integer, ByVal lpString As String, ByVal hData As Integer) As Integer
  2042. Declare Function GetProp Lib "User" (ByVal hWnd As Integer, ByVal lpString As Any) As Integer
  2043. Declare Function RemoveProp Lib "User" (ByVal hWnd As Integer, ByVal lpString As String) As Integer
  2044. Declare Sub SetWindowText Lib "User" (ByVal hWnd As Integer, ByVal lpString As String)
  2045. Declare Function GetWindowText Lib "User" (ByVal hWnd As Integer, ByVal lpString As String, ByVal aint As Integer) As Integer
  2046. Declare Function GetWindowTextLength Lib "User" (ByVal hWnd As Integer) As Integer
  2047.  
  2048. Declare Sub GetClientRect Lib "User" (ByVal hWnd As Integer, lpRect As RECT)
  2049. Declare Sub GetWindowRect Lib "User" (ByVal hWnd As Integer, lpRect As RECT)
  2050. Declare Sub AdjustWindowRect Lib "User" (lpRect As RECT, ByVal dwStyle As Long, ByVal bMenu As Integer)
  2051. Declare Sub AdjustWindowRectEx Lib "User" (lpRect As RECT, ByVal dsStyle As Long, ByVal bMenu As Integer, ByVal dwEsStyle As Long)
  2052.  
  2053.  
  2054. ' MessageBox() Flags
  2055. Global Const MB_OK = &H0
  2056. Global Const MB_OKCANCEL = &H1
  2057. Global Const MB_ABORTRETRYIGNORE = &H2
  2058. Global Const MB_YESNOCANCEL = &H3
  2059. Global Const MB_YESNO = &H4
  2060. Global Const MB_RETRYCANCEL = &H5
  2061.  
  2062. Global Const MB_ICONHAND = &H10
  2063. Global Const MB_ICONQUESTION = &H20
  2064. Global Const MB_ICONEXCLAMATION = &H30
  2065. Global Const MB_ICONASTERISK = &H40
  2066.  
  2067. Global Const MB_ICONINFORMATION = MB_ICONASTERISK
  2068. Global Const MB_ICONSTOP = MB_ICONHAND
  2069.  
  2070. Global Const MB_DEFBUTTON1 = &H0
  2071. Global Const MB_DEFBUTTON2 = &H100
  2072. Global Const MB_DEFBUTTON3 = &H200
  2073.  
  2074. Global Const MB_APPLMODAL = &H0
  2075. Global Const MB_SYSTEMMODAL = &H1000
  2076. Global Const MB_TASKMODAL = &H2000
  2077.  
  2078. Global Const MB_NOFOCUS = &H8000
  2079.  
  2080. Global Const MB_TYPEMASK = &HF
  2081. Global Const MB_ICONMASK = &HF0
  2082. Global Const MB_DEFMASK = &HF00
  2083. Global Const MB_MODEMASK = &H3000
  2084. Global Const MB_MISCMASK = &HC000
  2085.  
  2086. Declare Function MessageBox Lib "User" (ByVal hWnd As Integer, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Integer) As Integer
  2087. Declare Sub MessageBeep Lib "User" (ByVal wType As Integer)
  2088.  
  2089. Declare Function ShowCursor Lib "User" (ByVal bShow As Integer) As Integer
  2090. Declare Sub SetCursorPos Lib "User" (ByVal X As Integer, ByVal Y As Integer)
  2091. Declare Function SetCursor Lib "User" (ByVal hCursor As Integer) As Integer
  2092. Declare Sub GetCursorPos Lib "User" (lpPoint As POINTAPI)
  2093. Declare Sub ClipCursor Lib "User" (lpRect As Any)
  2094.  
  2095. Declare Sub CreateCaret Lib "User" (ByVal hWnd As Integer, ByVal hBitmap As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer)
  2096. Declare Function GetCaretBlinkTime Lib "User" () As Integer
  2097. Declare Sub SetCaretBlinkTime Lib "User" (ByVal wMSeconds As Integer)
  2098. Declare Sub DestroyCaret Lib "User" ()
  2099. Declare Sub HideCaret Lib "User" (ByVal hWnd As Integer)
  2100. Declare Sub ShowCaret Lib "User" (ByVal hWnd As Integer)
  2101. Declare Sub SetCaretPos Lib "User" (ByVal X As Integer, ByVal Y As Integer)
  2102. Declare Sub GetCaretPos Lib "User" (lpPoint As POINTAPI)
  2103.  
  2104. Declare Sub ClientToScreen Lib "User" (ByVal hWnd As Integer, lpPoint As POINTAPI)
  2105. Declare Sub ScreenToClient Lib "User" (ByVal hWnd As Integer, lpPoint As POINTAPI)
  2106.  
  2107. Declare Function WindowFromPoint Lib "User" (ByVal ptScreen As Any) As Integer
  2108. Declare Function ChildWindowFromPoint Lib "User" (ByVal hWnd As Integer, ByVal ptScreen As Any) As Integer
  2109.  
  2110.  
  2111. ' Color Types
  2112. Global Const CTLCOLOR_MSGBOX = 0
  2113. Global Const CTLCOLOR_EDIT = 1
  2114. Global Const CTLCOLOR_LISTBOX = 2
  2115. Global Const CTLCOLOR_BTN = 3
  2116. Global Const CTLCOLOR_DLG = 4
  2117. Global Const CTLCOLOR_SCROLLBAR = 5
  2118. Global Const CTLCOLOR_STATIC = 6
  2119. Global Const CTLCOLOR_MAX = 8    '  three bits max
  2120.  
  2121. Global Const COLOR_SCROLLBAR = 0
  2122. Global Const COLOR_BACKGROUND = 1
  2123. Global Const COLOR_ACTIVECAPTION = 2
  2124. Global Const COLOR_INACTIVECAPTION = 3
  2125. Global Const COLOR_MENU = 4
  2126. Global Const COLOR_WINDOW = 5
  2127. Global Const COLOR_WINDOWFRAME = 6
  2128. Global Const COLOR_MENUTEXT = 7
  2129. Global Const COLOR_WINDOWTEXT = 8
  2130. Global Const COLOR_CAPTIONTEXT = 9
  2131. Global Const COLOR_ACTIVEBORDER = 10
  2132. Global Const COLOR_INACTIVEBORDER = 11
  2133. Global Const COLOR_APPWORKSPACE = 12
  2134. Global Const COLOR_HIGHLIGHT = 13
  2135. Global Const COLOR_HIGHLIGHTTEXT = 14
  2136. Global Const COLOR_BTNFACE = 15
  2137. Global Const COLOR_BTNSHADOW = 16
  2138. Global Const COLOR_GRAYTEXT = 17
  2139. Global Const COLOR_BTNTEXT = 18
  2140. Global Const COLOR_ENDCOLORS = COLOR_BTNTEXT
  2141.  
  2142. Declare Function GetSysColor Lib "User" (ByVal nIndex As Integer) As Long
  2143. Declare Sub SetSysColors Lib "User" (ByVal nChanges As Integer, lpSysColor As Integer, lpColorValues As Long)
  2144.  
  2145. Declare Function FillRgn Lib "User" (ByVal hDC As Integer, ByVal hRgn As Integer, ByVal hBrush As Integer) As Integer
  2146. Declare Function FrameRgn Lib "User" (ByVal hDC As Integer, ByVal hRgn As Integer, ByVal hBrush As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer) As Integer
  2147. Declare Function InvertRgn Lib "User" (ByVal hDC As Integer, ByVal hRgn As Integer) As Integer
  2148. Declare Function PaintRgn Lib "User" (ByVal hDC As Integer, ByVal hRgn As Integer) As Integer
  2149. Declare Function PtInRegion Lib "User" (ByVal hRgn As Integer, ByVal X As Integer, ByVal Y As Integer) As Integer
  2150.  
  2151. Declare Sub DrawFocusRect Lib "User" (ByVal hDC As Integer, lpRect As RECT)
  2152. Declare Function FillRect Lib "User" (ByVal hDC As Integer, lpRect As RECT, ByVal hBrush As Integer) As Integer
  2153. Declare Function FrameRect Lib "User" (ByVal hDC As Integer, lpRect As RECT, ByVal hBrush As Integer) As Integer
  2154. Declare Sub InvertRect Lib "User" (ByVal hDC As Integer, lpRect As RECT)
  2155. Declare Sub SetRect Lib "User" (lpRect As RECT, ByVal X1 As Integer, ByVal Y1 As Integer, ByVal X2 As Integer, ByVal Y2 As Integer)
  2156. Declare Sub SetRectEmpty Lib "User" (lpRect As RECT)
  2157. Declare Function CopyRect Lib "User" (lpDestRect As RECT, lpSourceRect As RECT) As Integer
  2158. Declare Sub InflateRect Lib "User" (lpRect As RECT, ByVal X As Integer, ByVal Y As Integer)
  2159. Declare Function IntersectRect Lib "User" (lpDestRect As RECT, lpSrc1Rect As RECT, lpSrc2Rect As RECT) As Integer
  2160. Declare Function UnionRect Lib "User" (lpDestRect As RECT, lpSrc1Rect As RECT, lpSrc2Rect As RECT) As Integer
  2161. Declare Sub OffsetRect Lib "User" (lpRect As RECT, ByVal X As Integer, ByVal Y As Integer)
  2162. Declare Function IsRectEmpty Lib "User" (lpRect As RECT) As Integer
  2163. Declare Function EqualRect Lib "User" (lpRect1 As RECT, lpRect2 As RECT) As Integer
  2164. Declare Function PtInRect Lib "User" (lpRect As RECT, ByVal ptRect As Any) As Integer
  2165. Declare Function RectVisible Lib "User" (ByVal hDC As Integer, lpRect As RECT) As Integer
  2166. Declare Function RectInRegion Lib "User" (ByVal hRgn As Integer, lpRect As RECT) As Integer
  2167.  
  2168. Declare Function GetCurrentTime Lib "User" () As Long
  2169. Declare Function GetTickCount Lib "User" () As Long
  2170.  
  2171. Declare Function GetWindowWord Lib "User" (ByVal hWnd As Integer, ByVal nIndex As Integer) As Integer
  2172. Declare Function SetWindowWord Lib "User" (ByVal hWnd As Integer, ByVal nIndex As Integer, ByVal wNewWord As Integer) As Integer
  2173. Declare Function GetWindowLong Lib "User" (ByVal hWnd As Integer, ByVal nIndex As Integer) As Long
  2174. Declare Function SetWindowLong Lib "User" (ByVal hWnd As Integer, ByVal nIndex As Integer, ByVal dwNewLong As Long) As Long
  2175. Declare Function GetClassWord Lib "User" (ByVal hWnd As Integer, ByVal nIndex As Integer) As Integer
  2176. Declare Function SetClassWord Lib "User" (ByVal hWnd As Integer, ByVal nIndex As Integer, ByVal wNewWord As Integer) As Integer
  2177. Declare Function GetClassLong Lib "User" (ByVal hWnd As Integer, ByVal nIndex As Integer) As Long
  2178. Declare Function SetClassLong Lib "User" (ByVal hWnd As Integer, ByVal nIndex As Integer, ByVal dwNewLong As Long) As Long
  2179. Declare Function GetDesktopHwnd Lib "User" () As Integer
  2180. Declare Function GetDesktopWindow Lib "User" () As Integer
  2181.  
  2182.  
  2183. Declare Function GetParent Lib "User" (ByVal hWnd As Integer) As Integer
  2184. Declare Function SetParent Lib "User" (ByVal hWndChild As Integer, ByVal hWndNewParent As Integer) As Integer
  2185. Declare Function FindWindow Lib "User" (ByVal lpClassName As Any, ByVal lpWindowName As Any) As Integer
  2186. Declare Function GetClassName Lib "User" (ByVal hWnd As Integer, ByVal lpClassName As String, ByVal nMaxCount As Integer) As Integer
  2187. Declare Function GetTopWindow Lib "User" (ByVal hWnd As Integer) As Integer
  2188. Declare Function GetNextWindow Lib "User" (ByVal hWnd As Integer, ByVal wFlag As Integer) As Integer
  2189. Declare Function GetWindowTask Lib "User" (ByVal hWnd As Integer) As Integer
  2190. Declare Function GetLastActivePopup Lib "User" (ByVal hwndOwnder As Integer) As Integer
  2191.  
  2192. ' GetWindow() Constants
  2193. Global Const GW_HWNDFIRST = 0
  2194. Global Const GW_HWNDLAST = 1
  2195. Global Const GW_HWNDNEXT = 2
  2196. Global Const GW_HWNDPREV = 3
  2197. Global Const GW_OWNER = 4
  2198. Global Const GW_CHILD = 5
  2199.  
  2200. Declare Function GetWindow Lib "User" (ByVal hWnd As Integer, ByVal wCmd As Integer) As Integer
  2201.  
  2202. ' Menu flags for Add/Check/EnableMenuItem()
  2203. Global Const MF_INSERT = &H0
  2204. Global Const MF_CHANGE = &H80
  2205. Global Const MF_APPEND = &H100
  2206. Global Const MF_DELETE = &H200
  2207. Global Const MF_REMOVE = &H1000
  2208.  
  2209. Global Const MF_BYCOMMAND = &H0
  2210. Global Const MF_BYPOSITION = &H400
  2211.  
  2212. Global Const MF_SEPARATOR = &H800
  2213.  
  2214. Global Const MF_ENABLED = &H0
  2215. Global Const MF_GRAYED = &H1
  2216. Global Const MF_DISABLED = &H2
  2217.  
  2218. Global Const MF_UNCHECKED = &H0
  2219. Global Const MF_CHECKED = &H8
  2220. Global Const MF_USECHECKBITMAPS = &H200
  2221.  
  2222. Global Const MF_STRING = &H0
  2223. Global Const MF_BITMAP = &H4
  2224. Global Const MF_OWNERDRAW = &H100
  2225.  
  2226. Global Const MF_POPUP = &H10
  2227. Global Const MF_MENUBARBREAK = &H20
  2228. Global Const MF_MENUBREAK = &H40
  2229.  
  2230. Global Const MF_UNHILITE = &H0
  2231. Global Const MF_HILITE = &H80
  2232.  
  2233. Global Const MF_SYSMENU = &H2000
  2234. Global Const MF_HELP = &H4000
  2235. Global Const MF_MOUSESELECT = &H8000
  2236.  
  2237. ' Menu item resource format
  2238. Type MENUITEMTEMPLATEHEADER
  2239.     versionNumber As Integer
  2240.     offset As Integer
  2241. End Type
  2242.  
  2243. Type MENUITEMTEMPLATE
  2244.     mtOption As Integer
  2245.     mtID As Integer
  2246.     mtString As Long 
  2247. End Type
  2248.  
  2249. Global Const MF_END = &H80
  2250.  
  2251. ' System Menu Command Values
  2252. Global Const SC_SIZE = &HF000
  2253. Global Const SC_MOVE = &HF010
  2254. Global Const SC_MINIMIZE = &HF020
  2255. Global Const SC_MAXIMIZE = &HF030
  2256. Global Const SC_NEXTWINDOW = &HF040
  2257. Global Const SC_PREVWINDOW = &HF050
  2258. Global Const SC_CLOSE = &HF060
  2259. Global Const SC_VSCROLL = &HF070
  2260. Global Const SC_HSCROLL = &HF080
  2261. Global Const SC_MOUSEMENU = &HF090
  2262. Global Const SC_KEYMENU = &HF100
  2263. Global Const SC_ARRANGE = &HF110
  2264. Global Const SC_RESTORE = &HF120
  2265. Global Const SC_TASKLIST = &HF130
  2266.  
  2267. Global Const SC_ICON = SC_MINIMIZE
  2268. Global Const SC_ZOOM = SC_MAXIMIZE
  2269.  
  2270. ' Resource Loading Routines
  2271. Declare Function LoadBitmap Lib "User" (ByVal hInstance As Integer, ByVal lpBitmapName As Any) As Integer
  2272. Declare Function LoadCursor Lib "User" (ByVal hInstance As Integer, ByVal lpCursorName As Any) As Integer
  2273. Declare Function CreateCursor Lib "User" (ByVal hInstance%, ByVal nXhotspot%, ByVal nYhotspot%, ByVal nWidth%, ByVal nHeight%, ByVal lpANDbitPlane As Any, ByVal lpXORbitPlane As Any) As Integer
  2274. Declare Function DestroyCursor Lib "User" (ByVal hCursor As Integer) As Integer
  2275.  
  2276. ' Standard Cursor IDs
  2277. Global Const IDC_ARROW = 32512&
  2278. Global Const IDC_IBEAM = 32513&
  2279. Global Const IDC_WAIT = 32514&
  2280. Global Const IDC_CROSS = 32515&
  2281. Global Const IDC_UPARROW = 32516&
  2282. Global Const IDC_SIZE = 32640&
  2283. Global Const IDC_ICON = 32641&
  2284. Global Const IDC_SIZENWSE = 32642&
  2285. Global Const IDC_SIZENESW = 32643&
  2286. Global Const IDC_SIZEWE = 32644&
  2287. Global Const IDC_SIZENS = 32645&
  2288.  
  2289. Declare Function LoadIcon Lib "User" (ByVal hInstance As Integer, ByVal lpIconName As Any) As Integer
  2290. Declare Function CreateIcon Lib "User" (ByVal hInstance%, ByVal nWidth%, ByVal nHeight%, ByVal nPlanes%, ByVal nBitsPixel%, ByVal lpANDbits As Any, ByVal lpXORbits As Any) As Integer
  2291. Declare Function DestroyIcon Lib "User" (ByVal hIcon As Integer) As Integer
  2292.  
  2293.  
  2294. Global Const ORD_LANGDRIVER = 1    '  The ordinal number for the entry point of
  2295.                             '  language drivers.
  2296.  
  2297. ' Standard Icon IDs
  2298. Global Const IDI_APPLICATION = 32512&
  2299. Global Const IDI_HAND = 32513&
  2300. Global Const IDI_QUESTION = 32514&
  2301. Global Const IDI_EXCLAMATION = 32515&
  2302. Global Const IDI_ASTERISK = 32516&
  2303.  
  2304. Declare Function LoadString Lib "User" (ByVal hInstance As Integer, ByVal wID As Integer, ByVal lpBuffer As Any, ByVal nBufferMax As Integer) As Integer
  2305.  
  2306. Declare Function AddFontResource Lib "GDI" (ByVal lpFilename As Any) As Integer
  2307. Declare Function RemoveFontResource Lib "GDI" (ByVal lpFilename As Any) As Integer
  2308.  
  2309. ' Dialog Box Command IDs
  2310. Global Const IDOK = 1
  2311. Global Const IDCANCEL = 2
  2312. Global Const IDABORT = 3
  2313. Global Const IDRETRY = 4
  2314. Global Const IDIGNORE = 5
  2315. Global Const IDYES = 6
  2316. Global Const IDNO = 7
  2317.  
  2318.  
  2319. ' Control Manager Structures and Definitions
  2320.  
  2321. ' Edit Control Styles
  2322. Global Const ES_LEFT = &H0&
  2323. Global Const ES_CENTER = &H1&
  2324. Global Const ES_RIGHT = &H2&
  2325. Global Const ES_MULTILINE = &H4&
  2326. Global Const ES_UPPERCASE = &H8&
  2327. Global Const ES_LOWERCASE = &H10&
  2328. Global Const ES_PASSWORD = &H20&
  2329. Global Const ES_AUTOVSCROLL = &H40&
  2330. Global Const ES_AUTOHSCROLL = &H80&
  2331. Global Const ES_NOHIDESEL = &H100&
  2332. Global Const ES_OEMCONVERT = &H400&
  2333.  
  2334. ' Edit Control Notification Codes
  2335. Global Const EN_SETFOCUS = &H100
  2336. Global Const EN_KILLFOCUS = &H200
  2337. Global Const EN_CHANGE = &H300
  2338. Global Const EN_UPDATE = &H400
  2339. Global Const EN_ERRSPACE = &H500
  2340. Global Const EN_MAXTEXT = &H501
  2341. Global Const EN_HSCROLL = &H601
  2342. Global Const EN_VSCROLL = &H602
  2343.  
  2344. ' Edit Control Messages
  2345. Global Const EM_GETSEL = WM_USER+0
  2346. Global Const EM_SETSEL = WM_USER+1
  2347. Global Const EM_GETRECT = WM_USER+2
  2348. Global Const EM_SETRECT = WM_USER+3
  2349. Global Const EM_SETRECTNP = WM_USER+4
  2350. Global Const EM_SCROLL = WM_USER+5
  2351. Global Const EM_LINESCROLL = WM_USER+6
  2352. Global Const EM_GETMODIFY = WM_USER+8
  2353. Global Const EM_SETMODIFY = WM_USER+9
  2354. Global Const EM_GETLINECOUNT = WM_USER+10
  2355. Global Const EM_LINEINDEX = WM_USER+11
  2356. Global Const EM_SETHANDLE = WM_USER+12
  2357. Global Const EM_GETHANDLE = WM_USER+13
  2358. Global Const EM_GETTHUMB = WM_USER+14
  2359. Global Const EM_LINELENGTH = WM_USER+17
  2360. Global Const EM_REPLACESEL = WM_USER+18
  2361. Global Const EM_SETFONT = WM_USER+19
  2362. Global Const EM_GETLINE = WM_USER+20
  2363. Global Const EM_LIMITTEXT = WM_USER+21
  2364. Global Const EM_CANUNDO = WM_USER+22
  2365. Global Const EM_UNDO = WM_USER+23
  2366. Global Const EM_FMTLINES = WM_USER+24
  2367. Global Const EM_LINEFROMCHAR = WM_USER+25
  2368. Global Const EM_SETWORDBREAK = WM_USER+26
  2369. Global Const EM_SETTABSTOPS = WM_USER+27
  2370. Global Const EM_SETPASSWORDCHAR = WM_USER+28
  2371. Global Const EM_EMPTYUNDOBUFFER = WM_USER+29
  2372. Global Const EM_MSGMAX = WM_USER+30
  2373.  
  2374. ' Button Control Styles
  2375. Global Const BS_PUSHBUTTON = &H0&
  2376. Global Const BS_DEFPUSHBUTTON = &H1&
  2377. Global Const BS_CHECKBOX = &H2&
  2378. Global Const BS_AUTOCHECKBOX = &H3&
  2379. Global Const BS_RADIOBUTTON = &H4&
  2380. Global Const BS_3STATE = &H5&
  2381. Global Const BS_AUTO3STATE = &H6&
  2382. Global Const BS_GROUPBOX = &H7&
  2383. Global Const BS_USERBUTTON = &H8&
  2384. Global Const BS_AUTORADIOBUTTON = &H9&
  2385. Global Const BS_PUSHBOX = &HA&
  2386. Global Const BS_OWNERDRAW = &HB&
  2387. Global Const BS_LEFTTEXT = &H20&
  2388.  
  2389. ' User Button Notification Codes
  2390. Global Const BN_CLICKED = 0
  2391. Global Const BN_PAINT = 1
  2392. Global Const BN_HILITE = 2
  2393. Global Const BN_UNHILITE = 3
  2394. Global Const BN_DISABLE = 4
  2395. Global Const BN_DOUBLECLICKED = 5
  2396.  
  2397. ' Button Control Messages
  2398. Global Const BM_GETCHECK = WM_USER+0
  2399. Global Const BM_SETCHECK = WM_USER+1
  2400. Global Const BM_GETSTATE = WM_USER+2
  2401. Global Const BM_SETSTATE = WM_USER+3
  2402. Global Const BM_SETSTYLE = WM_USER+4
  2403.  
  2404. ' Static Control Constants
  2405. Global Const SS_LEFT = &H0&
  2406. Global Const SS_CENTER = &H1&
  2407. Global Const SS_RIGHT = &H2&
  2408. Global Const SS_ICON = &H3&
  2409. Global Const SS_BLACKRECT = &H4&
  2410. Global Const SS_GRAYRECT = &H5&
  2411. Global Const SS_WHITERECT = &H6&
  2412. Global Const SS_BLACKFRAME = &H7&
  2413. Global Const SS_GRAYFRAME = &H8&
  2414. Global Const SS_WHITEFRAME = &H9&
  2415. Global Const SS_USERITEM = &HA&
  2416. Global Const SS_SIMPLE = &HB&
  2417. Global Const SS_LEFTNOWORDWRAP = &HC&
  2418. Global Const SS_NOPREFIX = &H80&    '  Don't do "&" character translation
  2419.  
  2420. ' Dialog Manager Routines
  2421. Declare Function IsDialogMessage Lib "User" (ByVal hDlg As Integer, lpMsg As MSG) As Integer
  2422.  
  2423. Declare Sub MapDialogRect Lib "User" (ByVal hDlg As Integer, lpRect As RECT)
  2424.  
  2425. Declare Function DlgDirList Lib "User" (ByVal hDlg As Integer, ByVal lpPathSpec As String, ByVal nIDListBox As Integer, ByVal nIDStaticPath As Integer, ByVal wFiletype As Integer) As Integer
  2426. Declare Function DlgDirSelect Lib "User" (ByVal hDlg As Integer, ByVal lpString As String, ByVal nIDListBox As Integer) As Integer
  2427. Declare Function DlgDirListComboBox Lib "User" (ByVal hDlg As Integer, ByVal lpPathSpec As String, ByVal nIDComboBox As Integer, ByVal nIDStaticPath As Integer, ByVal wFileType As Integer) As Integer
  2428. Declare Function DlgDirSelectComboBox Lib "User" (ByVal hDlg As Integer, ByVal lpString As String, ByVal nIDComboBox As Integer) As Integer
  2429.  
  2430. ' Dialog Styles
  2431. Global Const DS_ABSALIGN = &H1&
  2432. Global Const DS_SYSMODAL = &H2&
  2433. Global Const DS_LOCALEDIT = &H20&    '  Edit items get Local storage.
  2434. Global Const DS_SETFONT = &H40&    '  User specified font for Dlg controls
  2435. Global Const DS_MODALFRAME = &H80&    '  Can be combined with WS_CAPTION
  2436. Global Const DS_NOIDLEMSG = &H100&    '  WM_ENTERIDLE message will not be sent
  2437.  
  2438. Global Const DM_GETDEFID = WM_USER+0
  2439. Global Const DM_SETDEFID = WM_USER+1
  2440. Global Const DC_HASDEFID = &H534%     '0x534B
  2441.  
  2442. ' Dialog Codes
  2443. Global Const DLGC_WANTARROWS = &H1    '  Control wants arrow keys
  2444. Global Const DLGC_WANTTAB = &H2    '  Control wants tab keys
  2445. Global Const DLGC_WANTALLKEYS = &H4    '  Control wants all keys
  2446. Global Const DLGC_WANTMESSAGE = &H4    '  Pass message to control
  2447. Global Const DLGC_HASSETSEL = &H8    '  Understands EM_SETSEL message
  2448. Global Const DLGC_DEFPUSHBUTTON = &H10    '  Default pushbutton
  2449. Global Const DLGC_UNDEFPUSHBUTTON = &H20    '  Non-default pushbutton
  2450. Global Const DLGC_RADIOBUTTON = &H40    '  Radio button
  2451. Global Const DLGC_WANTCHARS = &H80    '  Want WM_CHAR messages
  2452. Global Const DLGC_STATIC = &H100    '  Static item: don't include
  2453. Global Const DLGC_BUTTON = &H2000    '  Button item: can be checked
  2454.  
  2455. Global Const LB_CTLCODE = 0&
  2456.  
  2457. ' Listbox Return Values
  2458. Global Const LB_OKAY = 0
  2459. Global Const LB_ERR = (-1)
  2460. Global Const LB_ERRSPACE = (-2)
  2461.  
  2462. '
  2463. ' The idStaticPath parameter to DlgDirList can have the following values
  2464. ' ORed if the list box should show other details of the files along with
  2465. ' the name of the files;
  2466.  
  2467. ' all other details also will be returned
  2468.  
  2469. ' Listbox Notification Codes
  2470. Global Const LBN_ERRSPACE = (-2)
  2471. Global Const LBN_SELCHANGE = 1
  2472. Global Const LBN_DBLCLK = 2
  2473. Global Const LBN_SELCANCEL = 3
  2474. Global Const LBN_SETFOCUS = 4
  2475. Global Const LBN_KILLFOCUS = 5
  2476.  
  2477. ' Listbox messages
  2478. Global Const LB_ADDSTRING = (WM_USER+1)
  2479. Global Const LB_INSERTSTRING = (WM_USER+2)
  2480. Global Const LB_DELETESTRING = (WM_USER+3)
  2481. Global Const LB_RESETCONTENT = (WM_USER+5)
  2482. Global Const LB_SETSEL = (WM_USER+6)
  2483. Global Const LB_SETCURSEL = (WM_USER+7)
  2484. Global Const LB_GETSEL = (WM_USER+8)
  2485. Global Const LB_GETCURSEL = (WM_USER+9)
  2486. Global Const LB_GETTEXT = (WM_USER+10)
  2487. Global Const LB_GETTEXTLEN = (WM_USER+11)
  2488. Global Const LB_GETCOUNT = (WM_USER+12)
  2489. Global Const LB_SELECTSTRING = (WM_USER+13)
  2490. Global Const LB_DIR = (WM_USER+14)
  2491. Global Const LB_GETTOPINDEX = (WM_USER+15)
  2492. Global Const LB_FINDSTRING = (WM_USER+16)
  2493. Global Const LB_GETSELCOUNT = (WM_USER+17)
  2494. Global Const LB_GETSELITEMS = (WM_USER+18)
  2495. Global Const LB_SETTABSTOPS = (WM_USER+19)
  2496. Global Const LB_GETHORIZONTALEXTENT = (WM_USER+20)
  2497. Global Const LB_SETHORIZONTALEXTENT = (WM_USER+21)
  2498. Global Const LB_SETCOLUMNWIDTH = (WM_USER+22)
  2499. Global Const LB_SETTOPINDEX = (WM_USER+24)
  2500. Global Const LB_GETITEMRECT = (WM_USER+25)
  2501. Global Const LB_GETITEMDATA = (WM_USER+26)
  2502. Global Const LB_SETITEMDATA = (WM_USER+27)
  2503. Global Const LB_SELITEMRANGE = (WM_USER+28)
  2504. Global Const LB_MSGMAX = (WM_USER+33)
  2505.  
  2506. ' Listbox Styles
  2507. Global Const LBS_NOTIFY = &H1&
  2508. Global Const LBS_SORT = &H2&
  2509. Global Const LBS_NOREDRAW = &H4&
  2510. Global Const LBS_MULTIPLESEL = &H8&
  2511. Global Const LBS_OWNERDRAWFIXED = &H10&
  2512. Global Const LBS_OWNERDRAWVARIABLE = &H20&
  2513. Global Const LBS_HASSTRINGS = &H40&
  2514. Global Const LBS_USETABSTOPS = &H80&
  2515. Global Const LBS_NOINTEGRALHEIGHT = &H100&
  2516. Global Const LBS_MULTICOLUMN = &H200&
  2517. Global Const LBS_WANTKEYBOARDINPUT = &H400&
  2518. Global Const LBS_EXTENDEDSEL = &H800&
  2519. Global Const LBS_STANDARD = (LBS_NOTIFY Or LBS_SORT Or WS_VSCROLL Or WS_BORDER)
  2520.  
  2521. ' Combo Box return Values
  2522. Global Const CB_OKAY = 0
  2523. Global Const CB_ERR = (-1)
  2524. Global Const CB_ERRSPACE = (-2)
  2525.  
  2526. ' Combo Box Notification Codes
  2527. Global Const CBN_ERRSPACE = (-1)
  2528. Global Const CBN_SELCHANGE = 1
  2529. Global Const CBN_DBLCLK = 2
  2530. Global Const CBN_SETFOCUS = 3
  2531. Global Const CBN_KILLFOCUS = 4
  2532. Global Const CBN_EDITCHANGE = 5
  2533. Global Const CBN_EDITUPDATE = 6
  2534. Global Const CBN_DROPDOWN = 7
  2535.  
  2536. ' Combo Box styles
  2537. Global Const CBS_SIMPLE = &H1&
  2538. Global Const CBS_DROPDOWN = &H2&
  2539. Global Const CBS_DROPDOWNLIST = &H3&
  2540. Global Const CBS_OWNERDRAWFIXED = &H10&
  2541. Global Const CBS_OWNERDRAWVARIABLE = &H20&
  2542. Global Const CBS_AUTOHSCROLL = &H40&
  2543. Global Const CBS_OEMCONVERT = &H80&
  2544. Global Const CBS_SORT = &H100&
  2545. Global Const CBS_HASSTRINGS = &H200&
  2546. Global Const CBS_NOINTEGRALHEIGHT = &H400&
  2547.  
  2548. ' Combo Box messages
  2549. Global Const CB_GETEDITSEL = (WM_USER+0)
  2550. Global Const CB_LIMITTEXT = (WM_USER+1)
  2551. Global Const CB_SETEDITSEL = (WM_USER+2)
  2552. Global Const CB_ADDSTRING = (WM_USER+3)
  2553. Global Const CB_DELETESTRING = (WM_USER+4)
  2554. Global Const CB_DIR = (WM_USER+5)
  2555. Global Const CB_GETCOUNT = (WM_USER+6)
  2556. Global Const CB_GETCURSEL = (WM_USER+7)
  2557. Global Const CB_GETLBTEXT = (WM_USER+8)
  2558. Global Const CB_GETLBTEXTLEN = (WM_USER+9)
  2559. Global Const CB_INSERTSTRING = (WM_USER+10)
  2560. Global Const CB_RESETCONTENT = (WM_USER+11)
  2561. Global Const CB_FINDSTRING = (WM_USER+12)
  2562. Global Const CB_SELECTSTRING = (WM_USER+13)
  2563. Global Const CB_SETCURSEL = (WM_USER+14)
  2564. Global Const CB_SHOWDROPDOWN = (WM_USER+15)
  2565. Global Const CB_GETITEMDATA = (WM_USER+16)
  2566. Global Const CB_SETITEMDATA = (WM_USER+17)
  2567. Global Const CB_GETDROPPEDCONTROLRECT = (WM_USER+18)
  2568. Global Const CB_MSGMAX = (WM_USER+19)
  2569.  
  2570. ' Scroll Bar Styles
  2571. Global Const SBS_HORZ = &H0&
  2572. Global Const SBS_VERT = &H1&
  2573. Global Const SBS_TOPALIGN = &H2&
  2574. Global Const SBS_LEFTALIGN = &H2&
  2575. Global Const SBS_BOTTOMALIGN = &H4&
  2576. Global Const SBS_RIGHTALIGN = &H4&
  2577. Global Const SBS_SIZEBOXTOPLEFTALIGN = &H2&
  2578. Global Const SBS_SIZEBOXBOTTOMRIGHTALIGN = &H4&
  2579. Global Const SBS_SIZEBOX = &H8&
  2580.  
  2581.  
  2582. ' Sound Functions
  2583. '
  2584. Declare Function OpenSound Lib "Sound" () As Integer
  2585. Declare Sub CloseSound Lib "Sound" ()
  2586. Declare Function SetVoiceQueueSize Lib "Sound" (ByVal nVoice As Integer, ByVal nBytes As Integer) As Integer
  2587. Declare Function SetVoiceNote Lib "Sound" (ByVal nVoice As Integer, ByVal nValue As Integer, ByVal nLength As Integer, ByVal nCdots As Integer) As Integer
  2588. Declare Function SetVoiceAccent Lib "Sound" (ByVal nVoice As Integer, ByVal nTempo As Integer, ByVal nVolume As Integer, ByVal nMode As Integer, ByVal nPitch As Integer) As Integer
  2589. Declare Function SetVoiceEnvelope Lib "Sound" (ByVal nVoice As Integer, ByVal nShape As Integer, ByVal nRepeat As Integer) As Integer
  2590. Declare Function SetSoundNoise Lib "Sound" (ByVal nSource As Integer, ByVal nDuration As Integer) As Integer
  2591. Declare Function SetVoiceSound Lib "Sound" (ByVal nVoice As Integer, ByVal lFrequency As Long, ByVal nDuration As Integer) As Integer
  2592. Declare Function StartSound Lib "Sound" () As Integer
  2593. Declare Function StopSound Lib "Sound" () As Integer
  2594. Declare Function WaitSoundState Lib "Sound" (ByVal nState As Integer) As Integer
  2595. Declare Function SyncAllVoices Lib "Sound" () As Integer
  2596. Declare Function CountVoiceNotes Lib "Sound" (ByVal nVoice As Integer) As Integer
  2597. Declare Function GetThresholdEvent Lib "Sound" () As Integer
  2598. Declare Function GetThresholdStatus Lib "Sound" () As Integer
  2599. Declare Function SetVoiceThreshold Lib "Sound" (ByVal nVoice As Integer, ByVal nNotes As Integer) As Integer
  2600.  
  2601. ' WaitSoundState() Constants
  2602. Global Const S_QUEUEEMPTY = 0
  2603. Global Const S_THRESHOLD = 1
  2604. Global Const S_ALLTHRESHOLD = 2
  2605.  
  2606. ' Accent Modes
  2607. Global Const S_NORMAL = 0
  2608. Global Const S_LEGATO = 1
  2609. Global Const S_STACCATO = 2
  2610.  
  2611. ' SetSoundNoise() Sources
  2612. Global Const S_PERIOD512 = 0    '  Freq = N/512 high pitch, less coarse hiss
  2613. Global Const S_PERIOD1024 = 1    '  Freq = N/1024
  2614. Global Const S_PERIOD2048 = 2    '  Freq = N/2048 low pitch, more coarse hiss
  2615. Global Const S_PERIODVOICE = 3    '  Source is frequency from voice channel (3)
  2616. Global Const S_WHITE512 = 4    '  Freq = N/512 high pitch, less coarse hiss
  2617. Global Const S_WHITE1024 = 5    '  Freq = N/1024
  2618. Global Const S_WHITE2048 = 6    '  Freq = N/2048 low pitch, more coarse hiss
  2619. Global Const S_WHITEVOICE = 7    '  Source is frequency from voice channel (3)
  2620.  
  2621. Global Const S_SERDVNA = (-1)    '  Device not available
  2622. Global Const S_SEROFM = (-2)    '  Out of memory
  2623. Global Const S_SERMACT = (-3)    '  Music active
  2624. Global Const S_SERQFUL = (-4)    '  Queue full
  2625. Global Const S_SERBDNT = (-5)    '  Invalid note
  2626. Global Const S_SERDLN = (-6)    '  Invalid note length
  2627. Global Const S_SERDCC = (-7)    '  Invalid note count
  2628. Global Const S_SERDTP = (-8)    '  Invalid tempo
  2629. Global Const S_SERDVL = (-9)    '  Invalid volume
  2630. Global Const S_SERDMD = (-10)    '  Invalid mode
  2631. Global Const S_SERDSH = (-11)    '  Invalid shape
  2632. Global Const S_SERDPT = (-12)    '  Invalid pitch
  2633. Global Const S_SERDFQ = (-13)    '  Invalid frequency
  2634. Global Const S_SERDDR = (-14)    '  Invalid duration
  2635. Global Const S_SERDSR = (-15)    '  Invalid source
  2636. Global Const S_SERDST = (-16)    '  Invalid state
  2637.  
  2638. ' COMM declarations
  2639. '
  2640. Global Const NOPARITY = 0
  2641. Global Const ODDPARITY = 1
  2642. Global Const EVENPARITY = 2
  2643. Global Const MARKPARITY = 3
  2644. Global Const SPACEPARITY = 4
  2645.  
  2646. Global Const ONESTOPBIT = 0
  2647. Global Const ONE5STOPBITS = 1
  2648. Global Const TWOSTOPBITS = 2
  2649.  
  2650. Global Const IGNORE = 0    '  Ignore signal
  2651. Global Const INFINITE = &HFFFF    '  Infinite timeout
  2652.  
  2653. ' Error Flags
  2654. Global Const CE_RXOVER = &H1    '  Receive Queue overflow
  2655. Global Const CE_OVERRUN = &H2    '  Receive Overrun Error
  2656. Global Const CE_RXPARITY = &H4    '  Receive Parity Error
  2657. Global Const CE_FRAME = &H8    '  Receive Framing error
  2658. Global Const CE_BREAK = &H10    '  Break Detected
  2659. Global Const CE_CTSTO = &H20    '  CTS Timeout
  2660. Global Const CE_DSRTO = &H40    '  DSR Timeout
  2661. Global Const CE_RLSDTO = &H80    '  RLSD Timeout
  2662. Global Const CE_TXFULL = &H100    '  TX Queue is full
  2663. Global Const CE_PTO = &H200    '  LPTx Timeout
  2664. Global Const CE_IOE = &H400    '  LPTx I/O Error
  2665. Global Const CE_DNS = &H800    '  LPTx Device not selected
  2666. Global Const CE_OOP = &H1000    '  LPTx Out-Of-Paper
  2667. Global Const CE_MODE = &H8000    '  Requested mode unsupported
  2668.  
  2669. Global Const IE_BADID = (-1)    '  Invalid or unsupported id
  2670. Global Const IE_OPEN = (-2)    '  Device Already Open
  2671. Global Const IE_NOPEN = (-3)    '  Device Not Open
  2672. Global Const IE_MEMORY = (-4)    '  Unable to allocate queues
  2673. Global Const IE_DEFAULT = (-5)    '  Error in default parameters
  2674. Global Const IE_HARDWARE = (-10)    '  Hardware Not Present
  2675. Global Const IE_BYTESIZE = (-11)    '  Illegal Byte Size
  2676. Global Const IE_BAUDRATE = (-12)    '  Unsupported BaudRate
  2677.  
  2678. ' Events
  2679. Global Const EV_RXCHAR = &H1    '  Any Character received
  2680. Global Const EV_RXFLAG = &H2    '  Received certain character
  2681. Global Const EV_TXEMPTY = &H4    '  Transmitt Queue Empty
  2682. Global Const EV_CTS = &H8    '  CTS changed state
  2683. Global Const EV_DSR = &H10    '  DSR changed state
  2684. Global Const EV_RLSD = &H20    '  RLSD changed state
  2685. Global Const EV_BREAK = &H40    '  BREAK received
  2686. Global Const EV_ERR = &H80    '  Line status error occurred
  2687. Global Const EV_RING = &H100    '  Ring signal detected
  2688. Global Const EV_PERR = &H200    '  Printer error occured
  2689.  
  2690. ' Escape Functions
  2691. Global Const SETXOFF = 1    '  Simulate XOFF received
  2692. Global Const SETXON = 2    '  Simulate XON received
  2693. Global Const SETRTS = 3    '  Set RTS high
  2694. Global Const CLRRTS = 4    '  Set RTS low
  2695. Global Const SETDTR = 5    '  Set DTR high
  2696. Global Const CLRDTR = 6    '  Set DTR low
  2697. Global Const RESETDEV = 7    '  Reset device if possible
  2698.  
  2699. Global Const LPTx = &H80    '  Set if ID is for LPT device
  2700.  
  2701. Type DCB
  2702.     Id As String * 1
  2703.     BaudRate As Integer
  2704.     ByteSize As String * 1
  2705.     Parity As String * 1
  2706.     StopBits As String * 1
  2707.     RlsTimeout As Integer
  2708.     CtsTimeout As Integer
  2709.     DsrTimeout As Integer
  2710.  
  2711.     Bits1 As String * 1 ' The fifteen actual DCB bit-sized data fields
  2712.     Bits2 As String * 1 ' within these two bytes can be manipulated by
  2713.                           ' bitwise logical And/Or operations.  Refer to
  2714.                           ' SDKWIN.HLP for location/meaning of specific bits
  2715.  
  2716.     XonChar As String * 1
  2717.     XoffChar As String * 1
  2718.     XonLim As Integer
  2719.     XoffLim As Integer
  2720.     PeChar As String * 1
  2721.     EofChar As String * 1
  2722.     EvtChar As String * 1
  2723.     TxDelay As Integer
  2724. End Type
  2725.  
  2726. Type COMSTAT
  2727.     Bits As String * 1 ' For specific bit flags and their 
  2728.                          ' meanings, refer to SDKWIN.HLP.
  2729.     cbInQue As Integer
  2730.     cbOutQue As Integer
  2731. End Type
  2732.  
  2733. Declare Function OpenComm Lib "User" (ByVal lpComName As String, ByVal wInQueue As Integer, ByVal wOutQueue As Integer) As Integer
  2734. Declare Function SetCommState Lib "User" (lpDCB As DCB) As Integer
  2735. Declare Function GetCommState Lib "User" (ByVal nCid As Integer, lpDCB as DCB) As Integer
  2736. Declare Function ReadComm Lib "User" (ByVal nCid As Integer, ByVal lpBuf As String, ByVal nSize As Integer) As Integer
  2737. Declare Function UngetCommChar Lib "User" (ByVal nCid As Integer, ByVal cChar As Integer) As Integer
  2738. Declare Function WriteComm Lib "User" (ByVal nCid As Integer, ByVal lpBuf As String, ByVal nSize As Integer) As Integer
  2739. Declare Function CloseComm Lib "User" (ByVal nCid As Integer) As Integer
  2740. Declare Function BuildCommDCB Lib "User" (ByVal lpDef As String, lpDCB As DCB) As Integer
  2741. Declare Function TransmitCommChar Lib "User" (ByVal nCid As Integer, ByVal cChar As Integer) As Integer
  2742. Declare Function SetCommEventMask Lib "User" (ByVal nCid as Integer, nEvtMask as Integer) As Long
  2743. Declare Function GetCommEventMask Lib "User" (ByVal nCid As Integer, ByVal nEvtMask As Integer) As Integer
  2744. Declare Function SetCommBreak Lib "User" (ByVal nCid As Integer) As Integer
  2745. Declare Function ClearCommBreak Lib "User" (ByVal nCid As Integer) As Integer
  2746. Declare Function FlushComm Lib "User" (ByVal nCid As Integer, ByVal nQueue As Integer) As Integer
  2747. Declare Function EscapeCommFunction Lib "User" (ByVal nCid As Integer, ByVal nFunc As Integer) As Integer
  2748.  
  2749. Type MDICREATESTRUCT
  2750.     szClass As Long
  2751.     szTitle As Long
  2752.     hOwner As Integer
  2753.     x As Integer
  2754.     y As Integer
  2755.     cx As Integer
  2756.     cy As Integer
  2757.     style As Long
  2758.     lParam As Long
  2759. End Type
  2760.  
  2761. Type CLIENTCREATESTRUCT
  2762.     hWindowMenu As Integer
  2763.     idFirstChild As Integer
  2764. End Type
  2765.  
  2766. Declare Function DefFrameProc Lib "User" (ByVal hWnd As Integer, ByVal hWndMDIClient As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Long) As Long
  2767. Declare Function DefMDIChildProc Lib "User" (ByVal hWnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Long) As Long
  2768.  
  2769. Declare Function TranslateMDISysAccel Lib "User" (ByVal hWndClient As Integer, lpMsg As MSG) As Integer
  2770.  
  2771. Declare Function ArrangeIconicWindows Lib "User" (ByVal hWnd As Integer) As Integer
  2772.  
  2773.  
  2774. '  Help engine section.
  2775.  
  2776. ' Commands to pass WinHelp()
  2777. Global Const HELP_CONTEXT = &H1    '  Display topic in ulTopic
  2778. Global Const HELP_QUIT = &H2    '  Terminate help
  2779. Global Const HELP_INDEX = &H3    '  Display index
  2780. Global Const HELP_HELPONHELP = &H4    '  Display help on using help
  2781. Global Const HELP_SETINDEX = &H5    '  Set the current Index for multi index help
  2782. Global Const HELP_KEY = &H101        '  Display topic for keyword in offabData
  2783. Global Const HELP_MULTIKEY = &H201
  2784.  
  2785. Declare Function WinHelp Lib "User" (ByVal hWnd As Integer, ByVal lpHelpFile As String, ByVal wCommand As Integer, dwData As Any) As Integer
  2786.  
  2787. Type MULTIKEYHELP
  2788.     mkSize As Integer
  2789.     mkKeylist As String * 1
  2790.     szKeyphrase As String * 253 ' Array length is arbitrary; may be changed
  2791.  
  2792. End Type
  2793.  
  2794. ' function declarations for profiler routines contained in Windows libraries
  2795. Declare Function ProfInsChk Lib "User" () As Integer
  2796. Declare Sub ProfSetup Lib "User" (ByVal nBufferSize As Integer, ByVal nSamples As Integer)
  2797. Declare Sub ProfSampRate Lib "User" (ByVal nRate286 As Integer, ByVal nRate386 As Integer)
  2798. Declare Sub ProfStart Lib "User" ()
  2799. Declare Sub ProfStop Lib "User" ()
  2800. Declare Sub ProfClear Lib "User" ()
  2801. Declare Sub ProfFlush Lib "User" ()
  2802. Declare Sub ProfFinish Lib "User" ()
  2803.  
  2804.  
  2805.  
  2806. '*************************** Windows 3.1 Extensions ***************************
  2807.  
  2808. '  The remainder of this file contains the Const, Type, and Declare statements
  2809. '  for Windows 3.1 APIs.
  2810.  
  2811.  
  2812. ' Window 3.1 commands to pass WinHelp()
  2813. Global Const HELP_CONTENTS = &H3     ' Display Help for a particular topic
  2814. Global Const HELP_SETCONTENTS = &H5  ' Display Help contents topic
  2815. Global Const HELP_CONTEXTPOPUP = &H8 ' Display Help topic in popup window
  2816. Global Const HELP_FORCEFILE = &H9    ' Ensure correct Help file is displayed
  2817. Global Const HELP_COMMAND = &H102    ' Execute Help macro
  2818. Global Const HELP_PARTIALKEY = &H105 ' Display topic found in keyword list
  2819. Global Const HELP_SETWINPOS = &H203  ' Display and position Help window
  2820.  
  2821. Declare Function GetFreeSystemResources Lib "User" (ByVal fuSysResource As Integer) As Integer
  2822.  
  2823. Global Const GFSR_SYSTEMRESOURCES = &H0000
  2824. Global Const GFSR_GDIRESOURCES = &H0001
  2825. Global Const GFSR_USERRESOURCES = &H0002
  2826.  
  2827. Declare Sub LogError Lib "Kernel" (ByVal uErr As Integer, lpvInfo As Any)
  2828.  
  2829.  
  2830. ' ***** LogParamError/LogError values *****
  2831.  
  2832. ' Error modifier bits 
  2833. Global Const ERR_WARNING = &H8000
  2834. Global Const ERR_PARAM = &H4000
  2835.  
  2836. Global Const ERR_SIZE_MASK = &H3000
  2837. Global Const ERR_BYTE = &H1000
  2838. Global Const ERR_WORD = &H2000
  2839. Global Const ERR_DWORD = &H3000
  2840.  
  2841.  
  2842. ' ***** LogParamError() values *****
  2843.  
  2844. ' Generic parameter values 
  2845. Global Const ERR_BAD_VALUE = &H6001
  2846. Global Const ERR_BAD_FLAGS = &H6002
  2847. Global Const ERR_BAD_INDEX = &H6003
  2848. Global Const ERR_BAD_DVALUE = &H7004
  2849. Global Const ERR_BAD_DFLAGS = &H7005
  2850. Global Const ERR_BAD_DINDEX = &H7006
  2851. Global Const ERR_BAD_PTR = &H7007
  2852. Global Const ERR_BAD_FUNC_PTR = &H7008
  2853. Global Const ERR_BAD_SELECTOR = &H6009
  2854. Global Const ERR_BAD_STRING_PTR = &H700a
  2855. Global Const ERR_BAD_HANDLE = &H600b
  2856.  
  2857. ' KERNEL parameter errors 
  2858. Global Const ERR_BAD_HINSTANCE = &H6020
  2859. Global Const ERR_BAD_HMODULE = &H6021
  2860. Global Const ERR_BAD_GLOBAL_HANDLE = &H6022
  2861. Global Const ERR_BAD_LOCAL_HANDLE = &H6023
  2862. Global Const ERR_BAD_ATOM = &H6024
  2863. Global Const ERR_BAD_HFILE = &H6025
  2864.  
  2865. ' USER parameter errors 
  2866. Global Const ERR_BAD_HWND = &H6040
  2867. Global Const ERR_BAD_HMENU = &H6041
  2868. Global Const ERR_BAD_HCURSOR = &H6042
  2869. Global Const ERR_BAD_HICON = &H6043
  2870. Global Const ERR_BAD_HDWP = &H6044
  2871. Global Const ERR_BAD_CID = &H6045
  2872. Global Const ERR_BAD_HDRVR = &H6046
  2873.  
  2874. ' GDI parameter errors 
  2875. Global Const ERR_BAD_COORDS = &H7060
  2876. Global Const ERR_BAD_GDI_OBJECT = &H6061
  2877. Global Const ERR_BAD_HDC = &H6062
  2878. Global Const ERR_BAD_HPEN = &H6063
  2879. Global Const ERR_BAD_HFONT = &H6064
  2880. Global Const ERR_BAD_HBRUSH = &H6065
  2881. Global Const ERR_BAD_HBITMAP = &H6066
  2882. Global Const ERR_BAD_HRGN = &H6067
  2883. Global Const ERR_BAD_HPALETTE = &H6068
  2884. Global Const ERR_BAD_HMETAFILE = &H6069
  2885.  
  2886.  
  2887. ' ***** LogError() values *****
  2888.  
  2889. ' KERNEL errors 
  2890. Global Const ERR_GALLOC = &H0001
  2891. Global Const ERR_GREALLOC = &H0002
  2892. Global Const ERR_GLOCK = &H0003
  2893. Global Const ERR_LALLOC = &H0004
  2894. Global Const ERR_LREALLOC = &H0005
  2895. Global Const ERR_LLOCK = &H0006
  2896. Global Const ERR_ALLOCRES = &H0007
  2897. Global Const ERR_LOCKRES = &H0008
  2898. Global Const ERR_LOADMODULE = &H0009
  2899.  
  2900. ' USER errors 
  2901. Global Const ERR_CREATEDLG = &H0040
  2902. Global Const ERR_CREATEDLG2 = &H0041
  2903. Global Const ERR_REGISTERCLASS = &H0042
  2904. Global Const ERR_DCBUSY = &H0043
  2905. Global Const ERR_CREATEWND = &H0044
  2906. Global Const ERR_STRUCEXTRA = &H0045
  2907. Global Const ERR_LOADSTR = &H0046
  2908. Global Const ERR_LOADMENU = &H0047
  2909. Global Const ERR_NESTEDBEGINPAINT = &H0048
  2910. Global Const ERR_BADINDEX = &H0049
  2911. Global Const ERR_CREATEMENU = &H004a
  2912.  
  2913. ' GDI errors 
  2914. Global Const ERR_CREATEDC = &H0080
  2915. Global Const ERR_CREATEMETA = &H0081
  2916. Global Const ERR_DELOBJSELECTED = &H0082
  2917. Global Const ERR_SELBITMAP = &H0083
  2918.  
  2919. ' Debugging support (DEBUG SYSTEM ONLY) 
  2920. Type WINDEBUGINFO
  2921.     flags As Integer
  2922.     dwOptions As Long
  2923.     dwFilter As Long
  2924.     achAllocModule As String * 8
  2925.     dwAllocBreak As Long
  2926.     dwAllocCount As Long
  2927. End Type
  2928.  
  2929. Declare Function GetWinDebugInfo Lib "Kernel" (lpwdi As WINDEBUGINFO, ByVal flags As Integer) As Integer
  2930. Declare Function SetWinDebugInfo Lib "Kernel" (lpwdi As WINDEBUGINFO) As Integer
  2931. Declare Sub DebugOutput Lib "Kernel" (flags As Integer, ByVal lpszFmt As String)
  2932.  
  2933. ' WINDEBUGINFO flags values 
  2934. Global Const WDI_OPTIONS = &H0001
  2935. Global Const WDI_FILTER = &H0002
  2936. Global Const WDI_ALLOCBREAK = &H0004
  2937.  
  2938. ' dwOptions values 
  2939. Global Const DBO_CHECKHEAP = &H0001
  2940. Global Const DBO_BUFFERFILL = &H0004
  2941. Global Const DBO_DISABLEGPTRAPPING = &H0010
  2942. Global Const DBO_CHECKFREE = &H0020
  2943. Global Const DBO_SILENT = &H8000
  2944. Global Const DBO_TRACEBREAK = &H2000
  2945. Global Const DBO_WARNINGBREAK = &H1000
  2946. Global Const DBO_NOERRORBREAK = &H0800
  2947. Global Const DBO_NOFATALBREAK = &H0400
  2948. Global Const DBO_INT3BREAK = &H0100
  2949.  
  2950. ' DebugOutput flags values 
  2951. Global Const DBF_TRACE = &H0000
  2952. Global Const DBF_WARNING = &H4000
  2953. Global Const DBF_ERROR = &H8000
  2954. Global Const DBF_FATAL = &Hc000
  2955.  
  2956. ' dwFilter values 
  2957. Global Const DBF_KERNEL = &H1000
  2958. Global Const DBF_KRN_MEMMAN = &H0001
  2959. Global Const DBF_KRN_LOADMODULE = &H0002
  2960. Global Const DBF_KRN_SEGMENTLOAD = &H0004
  2961. Global Const DBF_USER = &H0800
  2962. Global Const DBF_GDI = &H0400
  2963. Global Const DBF_MMSYSTEM = &H0040
  2964. Global Const DBF_PENWIN = &H0020
  2965. Global Const DBF_APPLICATION = &H0008
  2966. Global Const DBF_DRIVER = &H0010
  2967.  
  2968. Global Const EW_REBOOTSYSTEM = &H43
  2969.  
  2970. Declare Function ExitWindowsExec Lib "User" (ByVal lpszExe As String, ByVal lpszParams As String) As Integer
  2971. Declare Function IsBadReadPtr Lib "Kernel" (ByVal lp As String, ByVal cb As Integer) As Integer
  2972. Declare Function IsBadWritePtr Lib "Kernel" (ByVal lp As String, ByVal cb As Integer) As Integer
  2973. Declare Function IsBadStringPtr Lib "Kernel" (ByVal lpsz As String, ByVal cchMax As Integer) As Integer
  2974. Declare Function IsTask Lib "Kernel" (ByVal htask As Integer) As Integer
  2975.  
  2976. Global Const OBM_UPARROWI = 32737
  2977. Global Const OBM_DNARROWI = 32736
  2978. Global Const OBM_RGARROWI = 32735
  2979. Global Const OBM_LFARROWI = 32734
  2980.  
  2981. Declare Function lstrcpyn Lib "Kernel" (ByVal lpszString1 As String, ByVal lpszString2 As String, ByVal cChars As Integer) As String
  2982. Declare Function IsDBCSLeadByte Lib "Kernel" (ByVal bTestChar As Integer) As Integer
  2983.  
  2984. Type SIZE
  2985.     cx As Integer
  2986.     cy As Integer
  2987. End Type
  2988.  
  2989. ' Drawing bounds accumulation APIs 
  2990. Declare Function SetBoundsRect Lib "GDI" (ByVal hdc As Integer, lprcBounds As RECT, ByVal flags As Integer) As Integer
  2991. Declare Function GetBoundsRect Lib "GDI" (ByVal hdc As Integer, lprcBounds As RECT, ByVal flags As Integer) As Integer
  2992.  
  2993. Global Const DCB_RESET = &H0001
  2994. Global Const DCB_ACCUMULATE = &H0002
  2995. Global Const DCB_DIRTY = DCB_ACCUMULATE
  2996. Global Const DCB_SET = (DCB_RESET Or DCB_ACCUMULATE)
  2997. Global Const DCB_ENABLE = &H0004
  2998. Global Const DCB_DISABLE = &H0008
  2999.  
  3000. Declare Function SetWindowOrgEx Lib "GDI" (ByVal hdc As Integer, ByVal nX As Integer, ByVal nY As Integer, lpPoint As POINTAPI) As Integer
  3001. Declare Function GetWindowOrgEx Lib "GDI" (ByVal hdc As Integer, lpPoint As POINTAPI) As Integer
  3002. Declare Function SetWindowExtEx Lib "GDI" (ByVal hdc As Integer, ByVal nX As Integer, ByVal nY As Integer, lpSize As SIZE) As Integer
  3003. Declare Function GetWindowExtEx Lib "GDI" (ByVal hdc As Integer, lpSize As SIZE) As Integer
  3004. Declare Function OffsetWindowOrgEx Lib "GDI" (ByVal hdc As Integer, ByVal nX As Integer, ByVal nY As Integer, lpPoint As POINTAPI) As Integer
  3005. Declare Function ScaleWindowExtEx% Lib "GDI" (ByVal hdc%, ByVal nXnum%,  ByVal nXdenom%, ByVal nYnum%, ByVal nYdenom%, lpSize As SIZE)
  3006. Declare Function SetViewportExtEx Lib "GDI" (ByVal hdc As Integer, ByVal nX As Integer, ByVal nY As Integer, lpSize As SIZE) As Integer
  3007. Declare Function GetViewportExtEx Lib "GDI" (ByVal hdc As Integer, lpSize As SIZE) As Integer
  3008. Declare Function SetViewportOrgEx Lib "GDI" (ByVal hdc As Integer, ByVal nX As Integer, ByVal nY As Integer, lpPoint As POINTAPI) As Integer
  3009. Declare Function GetViewportOrgEx Lib "GDI" (ByVal hdc As Integer, lpPoint As POINTAPI) As Integer
  3010. Declare Function OffsetViewportOrgEx Lib "GDI" (ByVal hdc As Integer, ByVal nX As Integer, ByVal nY As Integer, lpPoint As POINTAPI) As Integer
  3011. Declare Function ScaleViewportExtEx% Lib "GDI" (ByVal hdc%, ByVal nXnum%, ByVal nXdenom%, ByVal nYnum%, ByVal nYdenom%, lpSize As SIZE)
  3012.  
  3013. Global Const COLOR_INACTIVECAPTIONTEXT = 19
  3014. Global Const COLOR_BTNHIGHLIGHT = 20
  3015.  
  3016. Declare Function GetBrushOrgEx Lib "GDI" (ByVal hdc As Integer, lpPoint As POINTAPI) As Integer
  3017. Declare Function MoveToEx Lib "GDI" (ByVal hdc As Integer, ByVal x As Integer, ByVal y As Integer, lpPoint As POINTAPI) As Integer
  3018. Declare Function GetCurrentPositionEx Lib "GDI" (ByVal hdc As Integer, lpPoint As POINTAPI) As Integer
  3019. Declare Function GetTextExtentPoint Lib "GDI" (ByVal hdc As Integer, ByVal lpszString As String, ByVal cbString As Integer, lpSize As SIZE) As Integer
  3020.  
  3021. Global Const OUT_TT_PRECIS = 4
  3022. Global Const OUT_DEVICE_PRECIS = 5
  3023. Global Const OUT_RASTER_PRECIS = 6
  3024. Global Const OUT_TT_ONLY_PRECIS = 7
  3025.  
  3026. Global Const CLIP_LH_ANGLES = &H10
  3027. Global Const CLIP_TT_ALWAYS = &H20
  3028. Global Const CLIP_EMBEDDED = &H80
  3029.  
  3030. Declare Function GetAspectRatioFilterEx Lib "GDI" (ByVal hdc As Integer, lpAspectRatio As SIZE) As Integer
  3031.  
  3032. Global Const TMPF_TRUETYPE = &H04
  3033.  
  3034. Type PANOSE
  3035.     bFamilyType As String * 1
  3036.     bSerifStyle As String * 1
  3037.     bWeight As String * 1
  3038.     bProportion As String * 1
  3039.     bContrast As String * 1
  3040.     bStrokeVariation As String * 1
  3041.     bArmStyle As String * 1
  3042.     bLetterform As String * 1
  3043.     bMidline As String * 1
  3044.     bXHeight As String * 1
  3045. End Type
  3046.  
  3047. Type OUTLINETEXTMETRIC
  3048.     otmSize As Integer
  3049.     otmTextMetrics As TEXTMETRIC
  3050.     otmFiller As String * 1
  3051.     otmPanoseNumber As PANOSE
  3052.     otmfsSelection As Integer
  3053.     otmfsType As Integer
  3054.     otmsCharSlopeRise As Integer
  3055.     otmsCharSlopeRun As Integer
  3056.     otmItalicAngle As Integer
  3057.     otmEMSquare As Integer
  3058.     otmAscent As Integer
  3059.     otmDescent As Integer
  3060.     otmLineGap As Integer
  3061.     otmsCapEmHeight As Integer
  3062.     otmsXHeight As Integer
  3063.     otmrcFontBox As RECT
  3064.     otmMacAscent As Integer
  3065.     otmMacDescent As Integer
  3066.     otmMacLineGap As Integer
  3067.     otmusMinimumPPEM As Integer
  3068.     otmptSubscriptSize As POINTAPI
  3069.     otmptSubscriptOffset As POINTAPI
  3070.     otmptSuperscriptSize As POINTAPI
  3071.     otmptSuperscriptOffset As POINTAPI
  3072.     otmsStrikeoutSize As Integer
  3073.     otmsStrikeoutPosition As Integer
  3074.     otmsUnderscorePosition As Integer
  3075.     otmsUnderscoreSize As Integer
  3076.     otmpFamilyName As Long
  3077.     otmpFaceName As Long
  3078.     otmpStyleName As Long
  3079.     otmpFullName As Long
  3080. End Type
  3081.  
  3082. Declare Function GetOutlineTextMetrics Lib "GDI" (ByVal hdc As Integer, ByVal cbData As Integer, lpotm As OUTLINETEXTMETRIC) As Integer
  3083.  
  3084. ' Structure passed to FONTENUMPROC 
  3085. ' NOTE: NEWTEXTMETRIC is the same as TEXTMETRIC plus 4 new fields 
  3086. Type NEWTEXTMETRIC
  3087.     tmHeight As Integer
  3088.     tmAscent As Integer
  3089.     tmDescent As Integer
  3090.     tmInternalLeading As Integer
  3091.     tmExternalLeading As Integer
  3092.     tmAveCharWidth As Integer
  3093.     tmMaxCharWidth As Integer
  3094.     tmWeight As Integer
  3095.     tmItalic As String * 1
  3096.     tmUnderlined As String * 1
  3097.     tmStruckOut As String * 1
  3098.     tmFirstChar As String * 1
  3099.     tmLastChar As String * 1
  3100.     tmDefaultChar As String * 1
  3101.     tmBreakChar As String * 1
  3102.     tmPitchAndFamily As String * 1
  3103.     tmCharSet As String * 1
  3104.     tmOverhang As Integer
  3105.     tmDigitizedAspectX As Integer
  3106.     tmDigitizedAspectY As Integer
  3107.     ntmFlags As Long
  3108.     ntmSizeEM As Integer
  3109.     ntmCellHeight As Integer
  3110.     ntmAvgWidth As Integer
  3111. End Type
  3112.  
  3113. ' ntmFlags field flags 
  3114. Global Const NTM_REGULAR = &H00000040&
  3115. Global Const NTM_BOLD = &H00000020&
  3116. Global Const NTM_ITALIC = &H00000001&
  3117.  
  3118. Global Const LF_FULLFACESIZE = 64
  3119.  
  3120. Global Const TRUETYPE_FONTTYPE = &H0004
  3121.  
  3122. Declare Function GetFontData& Lib "GDI" (ByVal hdc%, ByVal dwTable&, ByVal dwOffset&, ByVal lpvBuffer$, ByVal cbData&)
  3123. Declare Function CreateScalableFontResource% Lib "GDI" (ByVal fHidden%, ByVal lpszResourceFile$, ByVal lpszFontFile$, ByVal lpszCurrentPath$)
  3124.  
  3125. Type GLYPHMETRICS
  3126.     gmBlackBoxX As Integer
  3127.     gmBlackBoxY As Integer
  3128.     gmptGlyphOrigin As POINTAPI
  3129.     gmCellIncX As Integer
  3130.     gmCellIncY As Integer
  3131. End Type
  3132.  
  3133. Type FIXED
  3134.     fract As Integer
  3135.     value As Integer
  3136. End Type
  3137.  
  3138. Type MAT2
  3139.     eM11 As FIXED
  3140.     eM12 As FIXED
  3141.     eM21 As FIXED
  3142.     eM22 As FIXED
  3143. End Type
  3144.  
  3145. Declare Function GetGlyphOutline& Lib "GDI" (ByVal hdc%, ByVal uChar%, ByVal fuFormat%, lpgm As GLYPHMETRICS, ByVal cbBuffer&, ByVal lpBuffer$, lpmat2 As MAT2)
  3146.  
  3147. ' GetGlyphOutline constants 
  3148. Global Const GGO_METRICS = 0
  3149. Global Const GGO_BITMAP = 1
  3150. Global Const GGO_NATIVE = 2
  3151.  
  3152. Global Const TT_POLYGON_TYPE = 24
  3153.  
  3154. Global Const TT_PRIM_LINE = 1
  3155. Global Const TT_PRIM_QSPLINE = 2
  3156.  
  3157. Type POINTFX
  3158.     x As FIXED
  3159.     y As FIXED
  3160. End Type
  3161.  
  3162. Type TTPOLYCURVE
  3163.     wType As Integer
  3164.     cpfx As Integer
  3165.     apfx As POINTFX
  3166. End Type
  3167.  
  3168. Type TTPOLYGONHEADER
  3169.     cb As Long
  3170.     dwType As Long
  3171.     pfxStart As POINTFX
  3172. End Type
  3173.  
  3174. Type ABC
  3175.     abcA As Integer
  3176.     abcB As Integer
  3177.     abcC As Integer
  3178. End Type
  3179.  
  3180. Declare Function GetCharABCWidths Lib "GDI" (ByVal hdc As Integer, ByVal uFirstChar As Integer, ByVal uLastChar As Integer, lpabc As ABC) As Integer
  3181.  
  3182. Type KERNINGPAIR
  3183.     wFirst As Integer
  3184.     wSecond As Integer
  3185.     iKernAmount As Integer
  3186. End Type
  3187.  
  3188. Declare Function GetKerningPairs Lib "GDI" (ByVal hdc As Integer, ByVal cPairs As Integer, lpkrnpair As KERNINGPAIR) As Integer
  3189.  
  3190. Type RASTERIZER_STATUS
  3191.     nSize As Integer
  3192.     wFlags As Integer
  3193.     nLanguageID As Integer
  3194. End Type
  3195.  
  3196. ' bits defined in wFlags of RASTERIZER_STATUS 
  3197. Global Const TT_AVAILABLE = &H0001
  3198. Global Const TT_ENABLED = &H0002
  3199.  
  3200. Declare Function GetRasterizerCaps Lib "GDI" (lpraststat As RASTERIZER_STATUS, ByVal cb As Integer) As Integer
  3201. Declare Function SetBitmapDimensionEx Lib "GDI" (ByVal hbm As Integer, ByVal nX As Integer, ByVal nY As Integer, lpSize As SIZE) As Integer
  3202. Declare Function GetBitmapDimensionEx Lib "GDI" (ByVal hBitmap As Integer, lpDimension As SIZE) As Integer
  3203. Declare Function SetMetaFileBitsBetter Lib "GDI" (ByVal hmt As Integer) As Integer
  3204.  
  3205. Type DOCINFO
  3206.     cbSize As Integer
  3207.     lpszDocName As Long
  3208.     lpszOutput As Long
  3209. End Type
  3210.  
  3211. Declare Function StartDoc Lib "GDI" (ByVal hdc As Integer, lpdi As DOCINFO) As Integer
  3212. Declare Function StartPage Lib "GDI" (ByVal hdc As Integer) As Integer
  3213. Declare Function EndPage Lib "GDI" (ByVal hdc As Integer) As Integer
  3214. Declare Function EndDocAPI Lib "GDI" Alias "EndDoc" (ByVal hdc As Integer) As Integer
  3215. Declare Function AbortDoc Lib "GDI" (ByVal hdc As Integer) As Integer
  3216. Declare Function SpoolFile Lib "GDI" (ByVal lpszPrinter As String, ByVal lpszPort As String, ByVal lpszJob As String, ByVal lpszFile As String) As Integer
  3217.  
  3218. Global Const SM_CXDOUBLECLK = 36
  3219. Global Const SM_CYDOUBLECLK = 37
  3220. Global Const SM_CXICONSPACING = 38
  3221. Global Const SM_CYICONSPACING = 39
  3222. Global Const SM_MENUDROPALIGNMENT = 40
  3223. Global Const SM_PENWINDOWS = 41
  3224. Global Const SM_DBCSENABLED = 42
  3225.  
  3226. Declare Function SystemParametersInfo Lib "User" (ByVal uAction As Integer, ByVal uParam As Integer, lpvParam As Any, ByVal fuWinIni As Integer) As Integer
  3227.  
  3228. Global Const SPI_GETBEEP = 1
  3229. Global Const SPI_SETBEEP = 2
  3230. Global Const SPI_GETMOUSE = 3
  3231. Global Const SPI_SETMOUSE = 4
  3232. Global Const SPI_GETBORDER = 5
  3233. Global Const SPI_SETBORDER = 6
  3234. Global Const SPI_GETKEYBOARDSPEED = 10
  3235. Global Const SPI_SETKEYBOARDSPEED = 11
  3236. Global Const SPI_LANGDRIVER = 12
  3237. Global Const SPI_ICONHORIZONTALSPACING = 13
  3238. Global Const SPI_GETSCREENSAVETIMEOUT = 14
  3239. Global Const SPI_SETSCREENSAVETIMEOUT = 15
  3240. Global Const SPI_GETSCREENSAVEACTIVE = 16
  3241. Global Const SPI_SETSCREENSAVEACTIVE = 17
  3242. Global Const SPI_GETGRIDGRANULARITY = 18
  3243. Global Const SPI_SETGRIDGRANULARITY = 19
  3244. Global Const SPI_SETDESKWALLPAPER = 20
  3245. Global Const SPI_SETDESKPATTERN = 21
  3246. Global Const SPI_GETKEYBOARDDELAY = 22
  3247. Global Const SPI_SETKEYBOARDDELAY = 23
  3248. Global Const SPI_ICONVERTICALSPACING = 24
  3249. Global Const SPI_GETICONTITLEWRAP = 25
  3250. Global Const SPI_SETICONTITLEWRAP = 26
  3251. Global Const SPI_GETMENUDROPALIGNMENT = 27
  3252. Global Const SPI_SETMENUDROPALIGNMENT = 28
  3253. Global Const SPI_SETDOUBLECLKWIDTH = 29
  3254. Global Const SPI_SETDOUBLECLKHEIGHT = 30
  3255. Global Const SPI_GETICONTITLELOGFONT = 31
  3256. Global Const SPI_SETDOUBLECLICKTIME = 32
  3257. Global Const SPI_SETMOUSEBUTTONSWAP = 33
  3258. Global Const SPI_SETICONTITLELOGFONT = 34
  3259. Global Const SPI_GETFASTTASKSWITCH = 35
  3260. Global Const SPI_SETFASTTASKSWITCH = 36
  3261.  
  3262. ' SystemParametersInfo flags 
  3263. Global Const SPIF_UPDATEINIFILE = &H0001
  3264. Global Const SPIF_SENDWININICHANGE = &H0002
  3265.  
  3266. Declare Function GetMessageExtraInfo Lib "User" () As Long
  3267. Declare Function GetQueueStatus Lib "User" (ByVal fuFlags As Integer) As Long
  3268.  
  3269. ' GetQueueStatus flags 
  3270. Global Const QS_KEY = &H0001
  3271. Global Const QS_MOUSEMOVE = &H0002
  3272. Global Const QS_MOUSEBUTTON = &H0004
  3273. Global Const QS_MOUSE = (QS_MOUSEMOVE Or QS_MOUSEBUTTON)
  3274. Global Const QS_POSTMESSAGE = &H0008
  3275. Global Const QS_TIMER = &H0010
  3276. Global Const QS_PAINT = &H0020
  3277. Global Const QS_SENDMESSAGE = &H0040
  3278.  
  3279. Global Const QS_ALLINPUT = &H007f
  3280.  
  3281.  
  3282. ' ***** Power management *****
  3283.  
  3284. Global Const WM_POWER = &H0048
  3285.  
  3286. ' wParam for WM_POWER window message and DRV_POWER driver notification 
  3287. Global Const PWR_OK = 1
  3288. Global Const PWR_FAIL = -1
  3289. Global Const PWR_SUSPENDREQUEST = 1
  3290. Global Const PWR_SUSPENDRESUME = 2
  3291. Global Const PWR_CRITICALRESUME = 3
  3292.  
  3293. Global Const GCW_ATOM = -32
  3294.  
  3295. Global Const WS_EX_TOPMOST = &H00000008&
  3296. Global Const WS_EX_ACCEPTFILES = &H00000010&
  3297. Global Const WS_EX_TRANSPARENT = &H00000020&
  3298.  
  3299. Type WINDOWPLACEMENT
  3300.     length As Integer
  3301.     flags As Integer
  3302.     showCmd As Integer
  3303.     ptMinPosition As POINTAPI
  3304.     ptMaxPosition As POINTAPI
  3305.     rcNormalPosition As RECT
  3306. End Type
  3307.  
  3308. Global Const WPF_SETMINPOSITION = &H0001
  3309. Global Const WPF_RESTORETOMAXIMIZED = &H0002
  3310.  
  3311. Declare Function GetWindowPlacement Lib "User" (ByVal hwnd As Integer, lpwndpl As WINDOWPLACEMENT) As Integer
  3312. Declare Function SetWindowPlacement Lib "User" (ByVal hwnd As Integer, lpwndpl As WINDOWPLACEMENT) As Integer
  3313.  
  3314. Global Const WM_WINDOWPOSCHANGING = &H0046
  3315. Global Const WM_WINDOWPOSCHANGED = &H0047
  3316.  
  3317. ' WM_WINDOWPOSCHANGING/CHANGED struct pointed to by lParam 
  3318. Type WINDOWPOS
  3319.     hwnd As Integer
  3320.     hwndInsertAfter As Integer
  3321.     x As Integer
  3322.     y As Integer
  3323.     cx As Integer
  3324.     cy As Integer
  3325.     flags As Integer
  3326. End Type
  3327.  
  3328. Declare Sub MapWindowPoints Lib "User" (ByVal hwndFrom As Integer, ByVal hwndTo As Integer, lppt As POINTAPI, ByVal cPoints As Integer)
  3329. Declare Function GetDCEx Lib "User" (ByVal hwnd As Integer, ByVal hrgnclip As Integer, ByVal fdwOptions As Long) As Integer
  3330.  
  3331. Global Const DCX_WINDOW = &H00000001&
  3332. Global Const DCX_CACHE = &H00000002&
  3333. Global Const DCX_CLIPCHILDREN = &H00000008&
  3334. Global Const DCX_CLIPSIBLINGS = &H00000010&
  3335. Global Const DCX_PARENTCLIP = &H00000020&
  3336. Global Const DCX_EXCLUDERGN = &H00000040&
  3337. Global Const DCX_INTERSECTRGN = &H00000080&
  3338. Global Const DCX_LOCKWINDOWUPDATE = &H00000400&
  3339. Global Const DCX_USESTYLE = &H00010000&
  3340.  
  3341. Declare Function LockWindowUpdate Lib "User" (ByVal hwndLock As Integer) As Integer
  3342. Declare Function RedrawWindow Lib "User" (ByVal hwnd As Integer, lprcUpdate As RECT, ByVal hrgnUpdate As Integer, ByVal fuRedraw As Integer) As Integer
  3343.  
  3344. Global Const RDW_INVALIDATE = &H0001
  3345. Global Const RDW_INTERNALPAINT = &H0002
  3346. Global Const RDW_ERASE = &H0004
  3347. Global Const RDW_VALIDATE = &H0008
  3348. Global Const RDW_NOINTERNALPAINT = &H0010
  3349. Global Const RDW_NOERASE = &H0020
  3350. Global Const RDW_NOCHILDREN = &H0040
  3351. Global Const RDW_ALLCHILDREN = &H0080
  3352. Global Const RDW_UPDATENOW = &H0100
  3353. Global Const RDW_ERASENOW = &H0200
  3354. Global Const RDW_FRAME = &H0400
  3355. Global Const RDW_NOFRAME = &H0800
  3356.  
  3357. Declare Function ScrollWindowEx% Lib "User" (ByVal hwnd%, ByVal dx%, ByVal dy%, lprcScroll As RECT, lprcClip As RECT, ByVal hrgnUpdate%, lprcUpdate As RECT, ByVal fuScroll%)
  3358.  
  3359. Global Const SW_SCROLLCHILDREN = &H0001
  3360. Global Const SW_INVALIDATE = &H0002
  3361. Global Const SW_ERASE = &H0004
  3362.  
  3363. ' WM_NCCALCSIZE return flags 
  3364. Global Const WVR_ALIGNTOP = &H0010
  3365. Global Const WVR_ALIGNLEFT = &H0020
  3366. Global Const WVR_ALIGNBOTTOM = &H0040
  3367. Global Const WVR_ALIGNRIGHT = &H0080
  3368. Global Const WVR_HREDRAW = &H0100
  3369. Global Const WVR_VREDRAW = &H0200
  3370. Global Const WVR_REDRAW = (WVR_HREDRAW Or WVR_VREDRAW)
  3371. Global Const WVR_VALIDRECTS = &H0400
  3372.  
  3373. ' WM_NCCALCSIZE parameter structure 
  3374. Type NCCALCSIZE_PARAMS
  3375.     rgrc As Long
  3376.     lppos As Long
  3377. End Type
  3378.  
  3379. Global Const MA_NOACTIVATEANDEAT =  4
  3380.  
  3381. Declare Function IsMenu Lib "User" (ByVal hmenu As Integer) As Integer
  3382.  
  3383. Global Const TPM_RIGHTBUTTON = &H0002
  3384. Global Const TPM_LEFTALIGN = &H0000
  3385. Global Const TPM_CENTERALIGN = &H0004
  3386. Global Const TPM_RIGHTALIGN = &H0008
  3387.  
  3388. Declare Function GetOpenClipboardWindow Lib "User" () As Integer
  3389. Declare Function CopyCursor Lib "User" (ByVal hinst As Integer, ByVal hcur As Integer) As Integer
  3390. Declare Function GetCursor Lib "User" () As Integer
  3391. Declare Sub GetClipCursor Lib "User" (lprc As RECT)
  3392. Declare Function CopyIcon Lib "User" (ByVal hinst As Integer, ByVal hicon As Integer) As Integer
  3393.  
  3394. Global Const MDIS_ALLCHILDSTYLES = &H0001
  3395.  
  3396. ' wParam values for WM_MDITILE and WM_MDICASCADE messages. 
  3397. Global Const MDITILE_VERTICAL = &H0000
  3398. Global Const MDITILE_HORIZONTAL = &H0001
  3399. Global Const MDITILE_SKIPDISABLED = &H0002
  3400.  
  3401. ' Static Control Mesages 
  3402. Global Const STM_SETICON = (WM_USER+0)
  3403. Global Const STM_GETICON = (WM_USER+1)
  3404.  
  3405. Global Const ES_READONLY = &H00000800&
  3406. Global Const ES_WANTRETURN = &H00001000&
  3407.  
  3408. Global Const EM_GETFIRSTVISIBLELINE = (WM_USER+30)
  3409. Global Const EM_SETREADONLY = (WM_USER+31)
  3410. Global Const EM_SETWORDBREAKPROC = (WM_USER+32)
  3411. Global Const EM_GETWORDBREAKPROC = (WM_USER+33)
  3412. Global Const EM_GETPASSWORDCHAR = (WM_USER+34)
  3413.  
  3414. ' EDITWORDBREAKPROC code values 
  3415. Global Const WB_LEFT = 0
  3416. Global Const WB_RIGHT = 1
  3417. Global Const WB_ISDELIMITER = 2
  3418.  
  3419. Global Const LBS_DISABLENOSCROLL = &H1000&
  3420.  
  3421. Global Const LB_SETITEMHEIGHT = (WM_USER+33)
  3422. Global Const LB_GETITEMHEIGHT = (WM_USER+34)
  3423. Global Const LB_FINDSTRINGEXACT = (WM_USER+35)
  3424.  
  3425. Declare Function DlgDirSelectEx% Lib "User" (ByVal hwndDlg%, ByVal lpszPath$, ByVal cbPath%, ByVal idListBox%)
  3426. Declare Function DlgDirSelectComboBoxEx% Lib "User" (ByVal hwndDlg%, ByVal lpszPath$, ByVal cbPath%, ByVal idComboBox%)
  3427.  
  3428. Global Const CBS_DISABLENOSCROLL = &H0800&
  3429.  
  3430. Global Const CB_GETDROPPEDCONTROLRECT = (WM_USER+18)
  3431. Global Const CB_SETITEMHEIGHT = (WM_USER+19)
  3432. Global Const CB_GETITEMHEIGHT = (WM_USER+20)
  3433. Global Const CB_SETEXTENDEDUI = (WM_USER+21)
  3434. Global Const CB_GETEXTENDEDUI = (WM_USER+22)
  3435. Global Const CB_GETDROPPEDSTATE = (WM_USER+23)
  3436. Global Const CB_FINDSTRINGEXACT = (WM_USER+24)
  3437.  
  3438. Global Const CBN_CLOSEUP = 8
  3439. Global Const CBN_SELENDOK = 9
  3440. Global Const CBN_SELENDCANCEL = 10
  3441.  
  3442. Declare Function UnhookWindowsHookEx Lib "User" (ByVal hHook As Integer) As Integer
  3443. Declare Function CallNextHookEx Lib "User" (ByVal hHook As Integer, ByVal ncode As Integer, ByVal wParam As Integer, lParam As Any) As Long
  3444.  
  3445. ' HCBT_CREATEWND parameters pointed to by lParam 
  3446. Type CBT_CREATEWND
  3447.     lpcs As Long
  3448.     hwndInsertAfter As Integer
  3449. End Type
  3450.  
  3451. ' HCBT_ACTIVATE structure pointed to by lParam 
  3452. Type CBTACTIVATESTRUCT
  3453.     fMouse As Integer
  3454.     hWndActive As Integer
  3455. End Type
  3456.  
  3457.  
  3458. Global Const WH_HARDWARE = 8
  3459.  
  3460. Type HARDWAREHOOKSTRUCT
  3461.     hWnd As Integer
  3462.     wMessage As Integer
  3463.     wParam As Integer
  3464.     lParam As Long
  3465. End Type
  3466.  
  3467. ' SetWindowsHook() Shell hook code 
  3468. Global Const WH_SHELL = 10
  3469.  
  3470. Global Const HSHELL_WINDOWCREATED = 1
  3471. Global Const HSHELL_WINDOWDESTROYED = 2
  3472. Global Const HSHELL_ACTIVATESHELLWINDOW = 3
  3473.  
  3474.  
  3475. ' SetWindowsHook debug hook support 
  3476. Global Const WH_DEBUG = 9
  3477.  
  3478. Type DEBUGHOOKINFO
  3479.     hModuleHook As Integer
  3480.     reserved As Long
  3481.     lParam As Long
  3482.     wParam As Integer
  3483.     code As Integer
  3484. End Type
  3485.  
  3486. Declare Function QuerySendMessage Lib "User" (ByVal hreserved1 As Integer, ByVal hreserved2 As Integer, ByVal hreserved3 As Integer, ByVal lpMessage As String) As Integer
  3487. Declare Function LockInput Lib "User" (ByVal hReserved As Integer, ByVal hwndInput As Integer, ByVal fLock As Integer) As Integer
  3488. Declare Function GetSystemDebugState Lib "User" () As Long
  3489.  
  3490. ' Flags returned by GetSystemDebugState.
  3491. Global Const SDS_MENU = &H0001
  3492. Global Const SDS_SYSMODAL = &H0002
  3493. Global Const SDS_NOTASKQUEUE = &H0004
  3494. Global Const SDS_DIALOG = &H0008
  3495. Global Const SDS_TASKLOCKED = &H0010
  3496.  
  3497. ' new escape functions 
  3498. Global Const GETMAXLPT = 8
  3499. Global Const GETMAXCOM = 9
  3500. Global Const GETBASEIRQ = 10
  3501.  
  3502. ' Comm Baud Rate indices 
  3503. Global Const CBR_110 = &HFF10
  3504. Global Const CBR_300 = &HFF11
  3505. Global Const CBR_600 = &HFF12
  3506. Global Const CBR_1200 = &HFF13
  3507. Global Const CBR_2400 = &HFF14
  3508. Global Const CBR_4800 = &HFF15
  3509. Global Const CBR_9600 = &HFF16
  3510. Global Const CBR_14400 = &HFF17
  3511. Global Const CBR_19200 = &HFF18
  3512. Global Const CBR_38400 = &HFF1B
  3513. Global Const CBR_56000 = &HFF1F
  3514. Global Const CBR_128000 = &HFF23
  3515. Global Const CBR_256000 = &HFF27
  3516.  
  3517. ' notifications passed in low word of lParam on WM_COMMNOTIFY messages 
  3518. Global Const CN_RECEIVE = &H0001
  3519. Global Const CN_TRANSMIT = &H0002
  3520. Global Const CN_EVENT = &H0004
  3521.  
  3522. Declare Function EnableCommNotification Lib "User" (ByVal idComDev As Integer, ByVal hwnd As Integer, ByVal cbWriteNotify As Integer, ByVal OutQueue As Integer) As Integer
  3523.  
  3524. Global Const WM_COMMNOTIFY = &H0044
  3525.  
  3526. ' Driver messages 
  3527. Global Const DRV_LOAD = &H0001
  3528. Global Const DRV_ENABLE = &H0002
  3529. Global Const DRV_OPEN = &H0003
  3530. Global Const DRV_CLOSE = &H0004
  3531. Global Const DRV_DISABLE = &H0005
  3532. Global Const DRV_FREE = &H0006
  3533. Global Const DRV_CONFIGURE = &H0007
  3534. Global Const DRV_QUERYCONFIGURE = &H0008
  3535. Global Const DRV_INSTALL = &H0009
  3536. Global Const DRV_REMOVE = &H000A
  3537. Global Const DRV_EXITSESSION = &H000B
  3538. Global Const DRV_EXITAPPLICATION = &H000C
  3539. Global Const DRV_POWER = &H000F
  3540. Global Const DRV_RESERVED = &H0800
  3541. Global Const DRV_USER = &H4000
  3542.  
  3543. ' LPARAM of DRV_CONFIGURE message 
  3544. Type DRVCONFIGINFO
  3545.     dwDCISize As Long
  3546.     lpszDCISectionName As Long
  3547.     lpszDCIAliasName As Long
  3548. End Type
  3549.  
  3550. ' Supported return values for DRV_CONFIGURE message 
  3551. Global Const DRVCNF_CANCEL = &H0000
  3552. Global Const DRVCNF_OK = &H0001
  3553. Global Const DRVCNF_RESTART = &H0002
  3554.  
  3555. ' Supported lParam1 of DRV_EXITAPPLICATION notification 
  3556. Global Const DRVEA_NORMALEXIT = &H0001
  3557. Global Const DRVEA_ABNORMALEXIT = &H0002
  3558.  
  3559. Declare Function DefDriverProc Lib "User" (ByVal dwDriverIdentifier As Long, ByVal hdrvr As Integer, ByVal umsg As Integer, lParam1 As Any, lParam2 As Any) As Long
  3560. Declare Function OpenDriver Lib "User" (ByVal lpDriverName As String, ByVal lpSectionName As String, lParam As Any) As Integer
  3561. Declare Function CloseDriver Lib "User" (ByVal hdrvr As Integer, lParam1 As Any, lParam2 As Any) As Long
  3562. Declare Function SendDriverMessage Lib "User" (ByVal hdrvr As Integer, ByVal msg As Integer, lParam1 As Any, lParam2 As Any) As Long
  3563. Declare Function GetDriverModuleHandle Lib "User" (ByVal hdrvr As Integer) As Integer
  3564. Declare Function GetNextDriver Lib "User" (ByVal hdrvr As Integer, ByVal fdwFlag As Long) As Integer
  3565.  
  3566. ' GetNextDriver flags 
  3567. Global Const GND_FIRSTINSTANCEONLY = &H00000001
  3568.  
  3569. Global Const GND_FORWARD = &H00000000
  3570. Global Const GND_REVERSE = &H00000002
  3571.  
  3572. Type DRIVERINFOSTRUCT
  3573.     length As Integer
  3574.     hDriver As Integer
  3575.     hModule As Integer
  3576.     szAliasName As String * 128
  3577. End Type
  3578.  
  3579. Declare Function GetDriverInfo Lib "User" (ByVal hdrvr As Integer, lpdis As DRIVERINFOSTRUCT) As Integer
  3580.  
  3581.  
  3582. ' ***** LZEXPAND.DLL API *****
  3583.  
  3584. Type OFSTRUCT                 'from WINAPI.TXT
  3585.     cBytes As String * 1
  3586.     fFixedDisk As String * 1
  3587.     nErrCode As Integer
  3588.     reserved As String * 4
  3589.     szPathName As String * 128
  3590. End Type
  3591.  
  3592. ' LZOpenFile style flags (from WINAPI.TXT)
  3593. Global Const OF_READ = &H0
  3594. Global Const OF_WRITE = &H1
  3595. Global Const OF_READWRITE = &H2
  3596. Global Const OF_SHARE_COMPAT = &H0
  3597. Global Const OF_SHARE_EXCLUSIVE = &H10
  3598. Global Const OF_SHARE_DENY_WRITE = &H20
  3599. Global Const OF_SHARE_DENY_READ = &H30
  3600. Global Const OF_SHARE_DENY_NONE = &H40
  3601. Global Const OF_PARSE = &H100
  3602. Global Const OF_DELETE = &H200
  3603. Global Const OF_VERIFY = &H400
  3604. Global Const OF_CANCEL = &H800
  3605. Global Const OF_CREATE = &H1000
  3606. Global Const OF_PROMPT = &H2000
  3607. Global Const OF_EXIST = &H4000
  3608. Global Const OF_REOPEN = &H8000
  3609.  
  3610. ' ***** LZEXPAND error return codes *****
  3611.  
  3612. Global Const LZERROR_BADINHANDLE = (-1)  '  invalid input handle 
  3613. Global Const LZERROR_BADOUTHANDLE = (-2) '  invalid output handle 
  3614. Global Const LZERROR_READ = (-3)         '  corrupt compressed file format 
  3615. Global Const LZERROR_WRITE = (-4)        '  out of space for output file 
  3616. Global Const LZERROR_GLOBALLOC = (-5)    '  insufficient memory for LZFile struct 
  3617. Global Const LZERROR_GLOBLOCK = (-6)     '  bad global handle 
  3618. Global Const LZERROR_BADVALUE = (-7)     '  input parameter out of range 
  3619. Global Const LZERROR_UNKNOWNALG = (-8)   '  compression algorithm not recognized 
  3620.  
  3621. Declare Function LZStart Lib "LZexpand.dll" () As Integer
  3622. Declare Sub LZDone Lib "LZexpand.dll" ()
  3623. Declare Function CopyLZFile Lib "LZexpand.dll" (ByVal hfSource As Integer, ByVal hfDest As Integer) As Long
  3624. Declare Function LZCopy Lib "LZexpand.dll" (ByVal hfSource As Integer, ByVal hfDest As Integer) As Long
  3625. Declare Function LZInit Lib "LZexpand.dll" (ByVal hfSrc As Integer) As Integer
  3626. Declare Function GetExpandedName Lib "LZexpand.dll" (ByVal lpszSource As String, ByVal lpszBuffer As String) As Integer
  3627. Declare Function LZOpenFile Lib "LZexpand.dll" (ByVal lpszFile As String, lpOf As OFSTRUCT, ByVal style As Integer) As Integer
  3628. Declare Function LZSeek Lib "LZexpand.dll" (ByVal hfFile As Integer, ByVal lOffset As Long, ByVal nOrigin As Integer) As Long
  3629. Declare Function LZRead Lib "LZexpand.dll" (ByVal hfFile As Integer, ByVal lpvBuf As String, ByVal cb As Integer) As Integer
  3630. Declare Sub LZClose Lib "LZexpand.dll" (ByVal hfFile As Integer)
  3631.